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.



27586
27587
27588
27589
27590
27591
27592
27593
27594
27595
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 27586

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.



27584
27585
27586
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 27584

def address
  @address
end

#cityObject (readonly)

Returns the value of attribute city.



27584
27585
27586
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 27584

def city
  @city
end

#countryObject (readonly)

Returns the value of attribute country.



27584
27585
27586
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 27584

def country
  @country
end

#postalObject (readonly)

Returns the value of attribute postal.



27584
27585
27586
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 27584

def postal
  @postal
end

#provinceObject (readonly)

Returns the value of attribute province.



27584
27585
27586
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 27584

def province
  @province
end

#streetsObject (readonly)

Returns the value of attribute streets.



27584
27585
27586
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 27584

def streets
  @streets
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



27601
27602
27603
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 27601

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

#to_hashObject



27605
27606
27607
27608
27609
27610
27611
27612
27613
27614
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 27605

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

#to_jsonObject



27597
27598
27599
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 27597

def to_json
  JSON.dump(to_hash)
end