class MarketTown::Checkout::Address
An Address
model for validating addresses. This class is for internal use only. You should validate addresses yourself before passing them into {MarketTown::Checkout}.
@api private
Attributes
address_1[RW]
address_2[RW]
address_3[RW]
company[RW]
country[RW]
locality[RW]
name[RW]
postal_code[RW]
region[RW]
save[RW]
Public Class Methods
validate!(address_attrs)
click to toggle source
Validates an address, throws {InvalidError} if invalid
@param [Hash] address_attrs @option address_attrs [String] :name @option address_attrs [String] :company @option address_attrs [String] :address_1 @option address_attrs [String] :address_2 @option address_attrs [String] :address_3 @option address_attrs [String] :locality @option address_attrs [String] :region @option address_attrs [String] :postal_code @option address_attrs [String] :country must be valid ISO3166 alpha 2
@raise [InvalidError] if address invalid
# File lib/market_town/checkout/models/address.rb, line 28 def self.validate!(address_attrs) address = new(address_attrs) if address.invalid? raise InvalidError.new(address: address_attrs, errors: address.errors.messages) end end
Private Instance Methods
country_is_iso3166()
click to toggle source
# File lib/market_town/checkout/models/address.rb, line 60 def country_is_iso3166 if ISO3166::Country.find_country_by_alpha2(country).nil? errors.add(:country, 'Country was not valid ISO3166 alpha 2') end end