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.



18253
18254
18255
18256
18257
18258
18259
18260
18261
18262
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18253

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.



18251
18252
18253
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18251

def address
  @address
end

#cityObject (readonly)

Returns the value of attribute city.



18251
18252
18253
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18251

def city
  @city
end

#countryObject (readonly)

Returns the value of attribute country.



18251
18252
18253
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18251

def country
  @country
end

#postalObject (readonly)

Returns the value of attribute postal.



18251
18252
18253
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18251

def postal
  @postal
end

#provinceObject (readonly)

Returns the value of attribute province.



18251
18252
18253
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18251

def province
  @province
end

#streetsObject (readonly)

Returns the value of attribute streets.



18251
18252
18253
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18251

def streets
  @streets
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



18268
18269
18270
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18268

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

#to_hashObject



18272
18273
18274
18275
18276
18277
18278
18279
18280
18281
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18272

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

#to_jsonObject



18264
18265
18266
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18264

def to_json
  JSON.dump(to_hash)
end