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.



9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 9191

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.



9189
9190
9191
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 9189

def address
  @address
end

#cityObject (readonly)

Returns the value of attribute city.



9189
9190
9191
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 9189

def city
  @city
end

#countryObject (readonly)

Returns the value of attribute country.



9189
9190
9191
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 9189

def country
  @country
end

#postalObject (readonly)

Returns the value of attribute postal.



9189
9190
9191
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 9189

def postal
  @postal
end

#provinceObject (readonly)

Returns the value of attribute province.



9189
9190
9191
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 9189

def province
  @province
end

#streetsObject (readonly)

Returns the value of attribute streets.



9189
9190
9191
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 9189

def streets
  @streets
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



9206
9207
9208
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 9206

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

#to_hashObject



9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 9210

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

#to_jsonObject



9202
9203
9204
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 9202

def to_json
  JSON.dump(to_hash)
end