Sha256: 1599c7f43ea3ebd22a5ead2e04c670e5815fe53b9ee549cbd64cfbb97f87b50b

Contents?: true

Size: 535 Bytes

Versions: 7

Compression:

Stored size: 535 Bytes

Contents

module AddressValidations
  extend ActiveSupport::Concern

  prepended do
    validates :number, presence: true, if: -> { country.iso == "BR" }
    validates :district, presence: true, if: -> { country.iso == "BR" }
    validate :compatible_zipcode_and_state

    def compatible_zipcode_and_state
      return if country.iso != "BR"
      cep = CodigoPostal.new(zipcode)
      unless cep.state_code == state.abbr
        errors.add(:base, "CEP não corresponde ao Estado.")
      end
    end
  end

  ::Spree::Address.prepend self
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
solidus_brazilian_adaptations-1.1.3 app/overrides/address_validations.rb
solidus_brazilian_adaptations-1.1.2 app/overrides/address_validations.rb
solidus_brazilian_adaptations-1.1.1 app/overrides/address_validations.rb
solidus_brazilian_adaptations-1.1.0 app/overrides/address_validations.rb
solidus_brazilian_adaptations-1.0.9 app/overrides/address_validations.rb
solidus_brazilian_adaptations-1.0.8 app/overrides/address_validations.rb
solidus_brazilian_adaptations-1.0.7 app/overrides/address_validations.rb