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.



21352
21353
21354
21355
21356
21357
21358
21359
21360
21361
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21352

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.



21350
21351
21352
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21350

def address
  @address
end

#cityObject (readonly)

Returns the value of attribute city.



21350
21351
21352
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21350

def city
  @city
end

#countryObject (readonly)

Returns the value of attribute country.



21350
21351
21352
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21350

def country
  @country
end

#postalObject (readonly)

Returns the value of attribute postal.



21350
21351
21352
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21350

def postal
  @postal
end

#provinceObject (readonly)

Returns the value of attribute province.



21350
21351
21352
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21350

def province
  @province
end

#streetsObject (readonly)

Returns the value of attribute streets.



21350
21351
21352
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21350

def streets
  @streets
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



21367
21368
21369
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21367

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

#to_hashObject



21371
21372
21373
21374
21375
21376
21377
21378
21379
21380
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21371

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

#to_jsonObject



21363
21364
21365
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21363

def to_json
  JSON.dump(to_hash)
end