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.



16485
16486
16487
16488
16489
16490
16491
16492
16493
16494
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16485

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.



16483
16484
16485
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16483

def address
  @address
end

#cityObject (readonly)

Returns the value of attribute city.



16483
16484
16485
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16483

def city
  @city
end

#countryObject (readonly)

Returns the value of attribute country.



16483
16484
16485
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16483

def country
  @country
end

#postalObject (readonly)

Returns the value of attribute postal.



16483
16484
16485
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16483

def postal
  @postal
end

#provinceObject (readonly)

Returns the value of attribute province.



16483
16484
16485
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16483

def province
  @province
end

#streetsObject (readonly)

Returns the value of attribute streets.



16483
16484
16485
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16483

def streets
  @streets
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



16500
16501
16502
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16500

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

#to_hashObject



16504
16505
16506
16507
16508
16509
16510
16511
16512
16513
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16504

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

#to_jsonObject



16496
16497
16498
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16496

def to_json
  JSON.dump(to_hash)
end