Sha256: ac54e95cb43f73aef126892eab9697b563ced5bcee83acfb8137575fa3d18072

Contents?: true

Size: 776 Bytes

Versions: 37

Compression:

Stored size: 776 Bytes

Contents

class Address < ActiveRecord::Base

  belongs_to :address_type
  belongs_to :addressable, polymorphic: true

  before_save :validate_and_sanitize_us_address
  
  def address_concatenated
    [self.full_street_address, self.city, self.state_or_province, self.postal_code].join(', ')
  end
  
  def validate_and_sanitize_us_address
    if (address = StreetAddress::US.parse(self.address_concatenated))
      self.street_number = address.number
      self.street_dir_prefix = address.prefix
      self.street_name = address.street
      self.street_suffix = address.street_type
      self.street_dir_suffix = address.suffix
      self.unit_number = address.unit unless address.unit.blank?
      self.state_or_province = address.state
      self.country = 'US'
    end
  end

end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
reso-0.1.6.6 app/models/address.rb
reso-0.1.6.5 app/models/address.rb
reso-0.1.6.4 app/models/address.rb
reso-0.1.6.3 app/models/address.rb
reso-0.1.6.2 app/models/address.rb
reso-0.1.6.1 app/models/address.rb
reso-0.1.6 app/models/address.rb
reso-0.1.5.11 app/models/address.rb
reso-0.1.5.10 app/models/address.rb
reso-0.1.5.9 app/models/address.rb
reso-0.1.5.7 app/models/address.rb
reso-0.1.5.6 app/models/address.rb
reso-0.1.5.5 app/models/address.rb
reso-0.1.5.4 app/models/address.rb
reso-0.1.5.3 app/models/address.rb
reso-0.1.5.2 app/models/address.rb
reso-0.1.5.1 app/models/address.rb
reso-0.1.5.0 app/models/address.rb
reso-0.1.4.10 app/models/address.rb
reso-0.1.4.9 app/models/address.rb