ministryofjustice/Claim-for-Crown-Court-Defence

View on GitHub
app/models/court.rb

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
# == Schema Information
#
# Table name: courts
#
#  id         :integer          not null, primary key
#  code       :string
#  name       :string
#  court_type :string
#  created_at :datetime
#  updated_at :datetime
#

class Court < ApplicationRecord
  auto_strip_attributes :code, :name, squish: true, nullify: true

  COURT_TYPES = %w[crown magistrate].freeze

  has_many :claims, -> { active }, class_name: 'Claim::BaseClaim', dependent: :nullify

  validates :code, presence: true, uniqueness: { case_sensitve: false }
  validates :name, presence: true, uniqueness: { case_sensitve: false }
  validates :court_type, presence: true, inclusion: { in: COURT_TYPES }

  scope :alphabetical, -> { order(name: :asc) }
end