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.



10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10510

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.



10508
10509
10510
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10508

def address
  @address
end

#cityObject (readonly)

Returns the value of attribute city.



10508
10509
10510
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10508

def city
  @city
end

#countryObject (readonly)

Returns the value of attribute country.



10508
10509
10510
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10508

def country
  @country
end

#postalObject (readonly)

Returns the value of attribute postal.



10508
10509
10510
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10508

def postal
  @postal
end

#provinceObject (readonly)

Returns the value of attribute province.



10508
10509
10510
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10508

def province
  @province
end

#streetsObject (readonly)

Returns the value of attribute streets.



10508
10509
10510
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10508

def streets
  @streets
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



10525
10526
10527
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10525

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

#to_hashObject



10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10529

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

#to_jsonObject



10521
10522
10523
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10521

def to_json
  JSON.dump(to_hash)
end