class Io::Flow::V0::Models::CustomerAddressBookContact
Preferences may indicate a contact is preferred for billing, invoicing, and/or shipping.
Attributes
address[R]
address_preferences[R]
contact[R]
id[R]
Public Class Methods
new(incoming={})
click to toggle source
# File lib/flow_commerce/flow_api_v0_client.rb, line 38119 def initialize(incoming={}) opts = HttpClient::Helper.symbolize_keys(incoming) HttpClient::Preconditions.require_keys(opts, [:id, :address, :contact, :address_preferences], 'CustomerAddressBookContact') @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String) @address = (x = opts.delete(:address); x.is_a?(::Io::Flow::V0::Models::Address) ? x : ::Io::Flow::V0::Models::Address.new(x)) @contact = (x = opts.delete(:contact); x.is_a?(::Io::Flow::V0::Models::Contact) ? x : ::Io::Flow::V0::Models::Contact.new(x)) @address_preferences = HttpClient::Preconditions.assert_class('address_preferences', opts.delete(:address_preferences), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::CustomerAddressPreference) ? x : ::Io::Flow::V0::Models::CustomerAddressPreference.new(x)) } end
Public Instance Methods
copy(incoming={})
click to toggle source
# File lib/flow_commerce/flow_api_v0_client.rb, line 38132 def copy(incoming={}) CustomerAddressBookContact.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end
to_hash()
click to toggle source
# File lib/flow_commerce/flow_api_v0_client.rb, line 38136 def to_hash { :id => id, :address => address.to_hash, :contact => contact.to_hash, :address_preferences => address_preferences.map { |o| o.to_hash } } end
to_json()
click to toggle source
# File lib/flow_commerce/flow_api_v0_client.rb, line 38128 def to_json JSON.dump(to_hash) end