Sha256: 0fcc249bc27def33c1a04ad361cafa78c254bcf111a138dca659c8f0690c418a

Contents?: true

Size: 901 Bytes

Versions: 1

Compression:

Stored size: 901 Bytes

Contents

class Unico::Prefecture < Unico::Model
  self.abstract_class = true
  self.table_name = :unico_prefectures

  mount_uploader :image, PrefectureLogoUploader

  has_one :address, as: :addressable, class_name: '::Address', dependent: :destroy

  delegate :state, to: :address, allow_nil: true

  accepts_nested_attributes_for :address

  validates :name, :mayor_name, presence: true
  validates :name, uniqueness: true, allow_blank: true
  validates :email, mail: true, allow_blank: true
  validates :phone, :fax, mask: '(99) 9999-9999', allow_blank: true
  validates :cnpj, mask: '99.999.999/9999-99', cnpj: true, allow_blank: true
  validates :time_zone, inclusion: { in: ActiveSupport::TimeZone.zones_map(&:name).keys }, allow_blank: true

  before_validation :cache_state_acronym

  def to_s
    name
  end

  private

  def cache_state_acronym
    self.state_acronym = state.try(:acronym)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
unico-training-7.8.0 app/models/unico/prefecture.rb