Class: Io::Flow::V0::Models::Address

Inherits:
Object
  • Object
show all
Defined in:
lib/flow_commerce/flow_api_v0_client.rb

Overview

Defines structured fields for address to be used in user/form input. Either text or the structured input needs to be present.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(incoming = {}) ⇒ Address

Returns a new instance of Address.



20622
20623
20624
20625
20626
20627
20628
20629
20630
20631
20632
20633
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20622

def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  @text = (x = opts.delete(:text); x.nil? ? nil : HttpClient::Preconditions.assert_class('text', x, String))
  @streets = (x = opts.delete(:streets); x.nil? ? nil : HttpClient::Preconditions.assert_class('streets', x, Array).map { |v| HttpClient::Preconditions.assert_class('streets', v, String) })
  @street_number = (x = opts.delete(:street_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('street_number', x, String))
  @city = (x = opts.delete(:city); x.nil? ? nil : HttpClient::Preconditions.assert_class('city', x, String))
  @province = (x = opts.delete(:province); x.nil? ? nil : HttpClient::Preconditions.assert_class('province', x, String))
  @postal = (x = opts.delete(:postal); x.nil? ? nil : HttpClient::Preconditions.assert_class('postal', x, String))
  @country = (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, String))
  @latitude = (x = opts.delete(:latitude); x.nil? ? nil : HttpClient::Preconditions.assert_class('latitude', x, String))
  @longitude = (x = opts.delete(:longitude); x.nil? ? nil : HttpClient::Preconditions.assert_class('longitude', x, String))
end

Instance Attribute Details

#cityObject (readonly)

Returns the value of attribute city.



20620
20621
20622
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20620

def city
  @city
end

#countryObject (readonly)

Returns the value of attribute country.



20620
20621
20622
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20620

def country
  @country
end

#latitudeObject (readonly)

Returns the value of attribute latitude.



20620
20621
20622
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20620

def latitude
  @latitude
end

#longitudeObject (readonly)

Returns the value of attribute longitude.



20620
20621
20622
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20620

def longitude
  @longitude
end

#postalObject (readonly)

Returns the value of attribute postal.



20620
20621
20622
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20620

def postal
  @postal
end

#provinceObject (readonly)

Returns the value of attribute province.



20620
20621
20622
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20620

def province
  @province
end

#street_numberObject (readonly)

Returns the value of attribute street_number.



20620
20621
20622
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20620

def street_number
  @street_number
end

#streetsObject (readonly)

Returns the value of attribute streets.



20620
20621
20622
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20620

def streets
  @streets
end

#textObject (readonly)

Returns the value of attribute text.



20620
20621
20622
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20620

def text
  @text
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



20639
20640
20641
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20639

def copy(incoming={})
  Address.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
end

#to_hashObject



20643
20644
20645
20646
20647
20648
20649
20650
20651
20652
20653
20654
20655
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20643

def to_hash
  {
    :text => text,
    :streets => streets.nil? ? nil : streets,
    :street_number => street_number,
    :city => city,
    :province => province,
    :postal => postal,
    :country => country,
    :latitude => latitude,
    :longitude => longitude
  }
end

#to_jsonObject



20635
20636
20637
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20635

def to_json
  JSON.dump(to_hash)
end