Class: Physical::Location
- Inherits:
-
Object
- Object
- Physical::Location
- Defined in:
- lib/physical/location.rb
Constant Summary collapse
- ADDRESS_TYPES =
%w(residential commercial po_box).freeze
Instance Attribute Summary collapse
-
#address1 ⇒ Object
readonly
Returns the value of attribute address1.
-
#address2 ⇒ Object
readonly
Returns the value of attribute address2.
-
#address3 ⇒ Object
readonly
Returns the value of attribute address3.
-
#address_type ⇒ Object
readonly
Returns the value of attribute address_type.
-
#city ⇒ Object
readonly
Returns the value of attribute city.
-
#company_name ⇒ Object
readonly
Returns the value of attribute company_name.
-
#country ⇒ Object
readonly
Returns the value of attribute country.
-
#email ⇒ Object
readonly
Returns the value of attribute email.
-
#fax ⇒ Object
readonly
Returns the value of attribute fax.
-
#latitude ⇒ Object
readonly
Returns the value of attribute latitude.
-
#longitude ⇒ Object
readonly
Returns the value of attribute longitude.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#phone ⇒ Object
readonly
Returns the value of attribute phone.
-
#region ⇒ Object
readonly
Returns the value of attribute region.
-
#zip ⇒ Object
readonly
Returns the value of attribute zip.
Instance Method Summary collapse
- #==(other) ⇒ Object
- #commercial? ⇒ Boolean
-
#initialize(name: nil, company_name: nil, address1: nil, address2: nil, address3: nil, city: nil, region: nil, zip: nil, country: nil, phone: nil, fax: nil, email: nil, address_type: nil, latitude: nil, longitude: nil) ⇒ Location
constructor
A new instance of Location.
- #po_box? ⇒ Boolean
- #residential? ⇒ Boolean
- #to_hash ⇒ Object
Constructor Details
#initialize(name: nil, company_name: nil, address1: nil, address2: nil, address3: nil, city: nil, region: nil, zip: nil, country: nil, phone: nil, fax: nil, email: nil, address_type: nil, latitude: nil, longitude: nil) ⇒ Location
Returns a new instance of Location.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/physical/location.rb', line 25 def initialize( name: nil, company_name: nil, address1: nil, address2: nil, address3: nil, city: nil, region: nil, zip: nil, country: nil, phone: nil, fax: nil, email: nil, address_type: nil, latitude: nil, longitude: nil ) @country = if country.is_a?(Carmen::Country) country else Carmen::Country.coded(country.to_s) end if region.is_a?(Carmen::Region) @region = region elsif @country.is_a?(Carmen::Country) @region = @country.subregions.coded(region.to_s.upcase) end @name = name @company_name = company_name @address1 = address1 @address2 = address2 @address3 = address3 @city = city @zip = zip @phone = phone @fax = fax @email = email @address_type = address_type @latitude = latitude @longitude = longitude end |
Instance Attribute Details
#address1 ⇒ Object (readonly)
Returns the value of attribute address1.
9 10 11 |
# File 'lib/physical/location.rb', line 9 def address1 @address1 end |
#address2 ⇒ Object (readonly)
Returns the value of attribute address2.
9 10 11 |
# File 'lib/physical/location.rb', line 9 def address2 @address2 end |
#address3 ⇒ Object (readonly)
Returns the value of attribute address3.
9 10 11 |
# File 'lib/physical/location.rb', line 9 def address3 @address3 end |
#address_type ⇒ Object (readonly)
Returns the value of attribute address_type.
9 10 11 |
# File 'lib/physical/location.rb', line 9 def address_type @address_type end |
#city ⇒ Object (readonly)
Returns the value of attribute city.
9 10 11 |
# File 'lib/physical/location.rb', line 9 def city @city end |
#company_name ⇒ Object (readonly)
Returns the value of attribute company_name.
9 10 11 |
# File 'lib/physical/location.rb', line 9 def company_name @company_name end |
#country ⇒ Object (readonly)
Returns the value of attribute country.
9 10 11 |
# File 'lib/physical/location.rb', line 9 def country @country end |
#email ⇒ Object (readonly)
Returns the value of attribute email.
9 10 11 |
# File 'lib/physical/location.rb', line 9 def email @email end |
#fax ⇒ Object (readonly)
Returns the value of attribute fax.
9 10 11 |
# File 'lib/physical/location.rb', line 9 def fax @fax end |
#latitude ⇒ Object (readonly)
Returns the value of attribute latitude.
9 10 11 |
# File 'lib/physical/location.rb', line 9 def latitude @latitude end |
#longitude ⇒ Object (readonly)
Returns the value of attribute longitude.
9 10 11 |
# File 'lib/physical/location.rb', line 9 def longitude @longitude end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
9 10 11 |
# File 'lib/physical/location.rb', line 9 def name @name end |
#phone ⇒ Object (readonly)
Returns the value of attribute phone.
9 10 11 |
# File 'lib/physical/location.rb', line 9 def phone @phone end |
#region ⇒ Object (readonly)
Returns the value of attribute region.
9 10 11 |
# File 'lib/physical/location.rb', line 9 def region @region end |
#zip ⇒ Object (readonly)
Returns the value of attribute zip.
9 10 11 |
# File 'lib/physical/location.rb', line 9 def zip @zip end |
Instance Method Details
#==(other) ⇒ Object
100 101 102 103 |
# File 'lib/physical/location.rb', line 100 def ==(other) other.is_a?(self.class) && to_hash == other&.to_hash end |
#commercial? ⇒ Boolean
74 75 76 |
# File 'lib/physical/location.rb', line 74 def commercial? @address_type == 'commercial' end |
#po_box? ⇒ Boolean
78 79 80 |
# File 'lib/physical/location.rb', line 78 def po_box? @address_type == 'po_box' end |
#residential? ⇒ Boolean
70 71 72 |
# File 'lib/physical/location.rb', line 70 def residential? @address_type == 'residential' end |
#to_hash ⇒ Object
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/physical/location.rb', line 82 def to_hash { country: country&.code, postal_code: zip, region: region&.code, city: city, name: name, address1: address1, address2: address2, address3: address3, phone: phone, fax: fax, email: email, address_type: address_type, company_name: company_name } end |