Class: Io::Flow::V0::Models::Customer
- Inherits:
-
Object
- Object
- Io::Flow::V0::Models::Customer
- Defined in:
- lib/flow_commerce/flow_api_v0_client.rb
Overview
A customer represents the actual person purchasing from you. This information is needed primarily to support logistics (delivery to this person), fraud management (verification of who the person is), and reporting. We also recommend including your customer number whenever possible as doing so will allow Flow to link up transactions for this customer making customer service easier.
Instance Attribute Summary collapse
-
#address ⇒ Object
readonly
Returns the value of attribute address.
-
#email ⇒ Object
readonly
Returns the value of attribute email.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#number ⇒ Object
readonly
Returns the value of attribute number.
-
#phone ⇒ Object
readonly
Returns the value of attribute phone.
Instance Method Summary collapse
- #copy(incoming = {}) ⇒ Object
-
#initialize(incoming = {}) ⇒ Customer
constructor
A new instance of Customer.
- #to_hash ⇒ Object
- #to_json ⇒ Object
Constructor Details
#initialize(incoming = {}) ⇒ Customer
Returns a new instance of Customer.
21495 21496 21497 21498 21499 21500 21501 21502 21503 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21495 def initialize(incoming={}) opts = HttpClient::Helper.symbolize_keys(incoming) HttpClient::Preconditions.require_keys(opts, [:name], 'Customer') @name = (x = opts.delete(:name); x.is_a?(::Io::Flow::V0::Models::Name) ? x : ::Io::Flow::V0::Models::Name.new(x)) @number = (x = opts.delete(:number); x.nil? ? nil : HttpClient::Preconditions.assert_class('number', x, String)) @phone = (x = opts.delete(:phone); x.nil? ? nil : HttpClient::Preconditions.assert_class('phone', x, String)) @email = (x = opts.delete(:email); x.nil? ? nil : HttpClient::Preconditions.assert_class('email', x, String)) @address = (x = opts.delete(:address); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::BillingAddress) ? x : ::Io::Flow::V0::Models::BillingAddress.new(x))) end |
Instance Attribute Details
#address ⇒ Object (readonly)
Returns the value of attribute address.
21493 21494 21495 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21493 def address @address end |
#email ⇒ Object (readonly)
Returns the value of attribute email.
21493 21494 21495 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21493 def email @email end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
21493 21494 21495 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21493 def name @name end |
#number ⇒ Object (readonly)
Returns the value of attribute number.
21493 21494 21495 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21493 def number @number end |
#phone ⇒ Object (readonly)
Returns the value of attribute phone.
21493 21494 21495 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21493 def phone @phone end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
21509 21510 21511 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21509 def copy(incoming={}) Customer.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
21513 21514 21515 21516 21517 21518 21519 21520 21521 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21513 def to_hash { :name => name.to_hash, :number => number, :phone => phone, :email => email, :address => address.nil? ? nil : address.to_hash } end |
#to_json ⇒ Object
21505 21506 21507 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21505 def to_json JSON.dump(to_hash) end |