Sha256: f91167eddf3c0d73c64d04776cbc990eb1b3703592065ae49cb9fe6693f5cd64

Contents?: true

Size: 725 Bytes

Versions: 52

Compression:

Stored size: 725 Bytes

Contents

module Comee
  module Core
    class Address < ApplicationRecord
      self.abstract_class = true

      BASIC_ADDRESS = "Basic Address".freeze
      SHIPPING_ADDRESS = "Shipping Address".freeze
      DELIVERY_ADDRESS = "Delivery Address".freeze
      INVOICING_ADDRESS = "Invoicing Address".freeze

      ADDRESS_TYPES = [BASIC_ADDRESS, SHIPPING_ADDRESS, DELIVERY_ADDRESS, INVOICING_ADDRESS].freeze

      belongs_to :country, -> { where(lookup_type: :country) }, class_name: "Comee::Core::Lookup"

      validates :address_line1, :address_type, presence: true
      validates :address_type, inclusion: {in: ADDRESS_TYPES}
      validates :email, format: {with: URI::MailTo::EMAIL_REGEXP}, allow_nil: true
    end
  end
end

Version data entries

52 entries across 52 versions & 1 rubygems

Version Path
comee_core-0.3.62 app/models/comee/core/address.rb
comee_core-0.3.61 app/models/comee/core/address.rb
comee_core-0.3.60 app/models/comee/core/address.rb
comee_core-0.3.59 app/models/comee/core/address.rb
comee_core-0.3.58 app/models/comee/core/address.rb
comee_core-0.3.57 app/models/comee/core/address.rb
comee_core-0.3.56 app/models/comee/core/address.rb
comee_core-0.3.55 app/models/comee/core/address.rb
comee_core-0.3.54 app/models/comee/core/address.rb
comee_core-0.3.53 app/models/comee/core/address.rb
comee_core-0.3.51 app/models/comee/core/address.rb
comee_core-0.3.50 app/models/comee/core/address.rb
comee_core-0.3.49 app/models/comee/core/address.rb
comee_core-0.3.48 app/models/comee/core/address.rb
comee_core-0.3.47 app/models/comee/core/address.rb
comee_core-0.3.46 app/models/comee/core/address.rb
comee_core-0.3.45 app/models/comee/core/address.rb
comee_core-0.3.44 app/models/comee/core/address.rb
comee_core-0.3.43 app/models/comee/core/address.rb
comee_core-0.3.42 app/models/comee/core/address.rb