Module: Base::Project::App::Models::Concerns::Addressable
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/base/project/app/models/concerns/addressable.rb
Instance Method Summary collapse
- #coordinate_pair ⇒ Object
- #coordinates_dms ⇒ Object
- #coordinates_precision ⇒ Object
- #formatted_complete ⇒ Object
- #formatted_country ⇒ Object
- #formatted_simple ⇒ Object
- #formatted_zipcode ⇒ Object
- #multiple_default_error ⇒ Object
Instance Method Details
#coordinate_pair ⇒ Object
69 70 71 |
# File 'lib/base/project/app/models/concerns/addressable.rb', line 69 def coordinate_pair [latitude, longitude] end |
#coordinates_dms ⇒ Object
73 74 75 76 77 78 |
# File 'lib/base/project/app/models/concerns/addressable.rb', line 73 def coordinates_dms latitude_dms = coordinate_to_dms(latitude, %w[N S]) longitude_dms = coordinate_to_dms(longitude, %w[E W]) [latitude_dms, longitude_dms] end |
#coordinates_precision ⇒ Object
38 39 40 41 |
# File 'lib/base/project/app/models/concerns/addressable.rb', line 38 def coordinates_precision self.latitude = latitude.round(11) if latitude.present? self.longitude = longitude.round(11) if longitude.present? end |
#formatted_complete ⇒ Object
65 66 67 |
# File 'lib/base/project/app/models/concerns/addressable.rb', line 65 def formatted_complete "#{formatted_simple}, #{formatted_zipcode} #{formatted_country}" end |
#formatted_country ⇒ Object
60 61 62 63 |
# File 'lib/base/project/app/models/concerns/addressable.rb', line 60 def formatted_country country_model = ISO3166::Country[country] country_model.translations[country] || country_model.name end |
#formatted_simple ⇒ Object
47 48 49 50 51 52 53 54 |
# File 'lib/base/project/app/models/concerns/addressable.rb', line 47 def formatted_simple text = "#{street} #{number}" text = "#{text}, ap.#{apartment}" if apartment text = "#{text}, bl.#{block}" if block "#{text}, #{district}, #{city}" end |
#formatted_zipcode ⇒ Object
56 57 58 |
# File 'lib/base/project/app/models/concerns/addressable.rb', line 56 def formatted_zipcode StringSanitizer.mask_cep(zipcode) end |
#multiple_default_error ⇒ Object
43 44 45 |
# File 'lib/base/project/app/models/concerns/addressable.rb', line 43 def multiple_default_error errors.add(:default, I18n.t('activerecord.errors.messages.default_address_already_exists')) end |