Class: Io::Flow::V0::Models::AddressSuggestion

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

Overview

A suggested address (usually providing more accurate information). This object contains both the suggested address as well as metadata on which fields are actually different

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(incoming = {}) ⇒ AddressSuggestion

Returns a new instance of AddressSuggestion.



19718
19719
19720
19721
19722
19723
19724
19725
19726
19727
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19718

def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:address, :streets, :city, :province, :postal, :country], 'AddressSuggestion')
  @address = (x = opts.delete(:address); x.is_a?(::Io::Flow::V0::Models::Address) ? x : ::Io::Flow::V0::Models::Address.new(x))
  @streets = HttpClient::Preconditions.assert_boolean('streets', opts.delete(:streets))
  @city = HttpClient::Preconditions.assert_boolean('city', opts.delete(:city))
  @province = HttpClient::Preconditions.assert_boolean('province', opts.delete(:province))
  @postal = HttpClient::Preconditions.assert_boolean('postal', opts.delete(:postal))
  @country = HttpClient::Preconditions.assert_boolean('country', opts.delete(:country))
end

Instance Attribute Details

#addressObject (readonly)

Returns the value of attribute address.



19716
19717
19718
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19716

def address
  @address
end

#cityObject (readonly)

Returns the value of attribute city.



19716
19717
19718
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19716

def city
  @city
end

#countryObject (readonly)

Returns the value of attribute country.



19716
19717
19718
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19716

def country
  @country
end

#postalObject (readonly)

Returns the value of attribute postal.



19716
19717
19718
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19716

def postal
  @postal
end

#provinceObject (readonly)

Returns the value of attribute province.



19716
19717
19718
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19716

def province
  @province
end

#streetsObject (readonly)

Returns the value of attribute streets.



19716
19717
19718
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19716

def streets
  @streets
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



19733
19734
19735
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19733

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

#to_hashObject



19737
19738
19739
19740
19741
19742
19743
19744
19745
19746
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19737

def to_hash
  {
    :address => address.to_hash,
    :streets => streets,
    :city => city,
    :province => province,
    :postal => postal,
    :country => country
  }
end

#to_jsonObject



19729
19730
19731
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19729

def to_json
  JSON.dump(to_hash)
end