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.



20629
20630
20631
20632
20633
20634
20635
20636
20637
20638
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20629

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.



20627
20628
20629
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20627

def address
  @address
end

#cityObject (readonly)

Returns the value of attribute city.



20627
20628
20629
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20627

def city
  @city
end

#countryObject (readonly)

Returns the value of attribute country.



20627
20628
20629
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20627

def country
  @country
end

#postalObject (readonly)

Returns the value of attribute postal.



20627
20628
20629
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20627

def postal
  @postal
end

#provinceObject (readonly)

Returns the value of attribute province.



20627
20628
20629
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20627

def province
  @province
end

#streetsObject (readonly)

Returns the value of attribute streets.



20627
20628
20629
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20627

def streets
  @streets
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



20644
20645
20646
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20644

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

#to_hashObject



20648
20649
20650
20651
20652
20653
20654
20655
20656
20657
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20648

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

#to_jsonObject



20640
20641
20642
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20640

def to_json
  JSON.dump(to_hash)
end