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.
20772 20773 20774 20775 20776 20777 20778 20779 20780 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20772 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.
20770 20771 20772 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20770 def address @address end |
#email ⇒ Object (readonly)
Returns the value of attribute email.
20770 20771 20772 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20770 def email @email end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
20770 20771 20772 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20770 def name @name end |
#number ⇒ Object (readonly)
Returns the value of attribute number.
20770 20771 20772 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20770 def number @number end |
#phone ⇒ Object (readonly)
Returns the value of attribute phone.
20770 20771 20772 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20770 def phone @phone end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
20786 20787 20788 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20786 def copy(incoming={}) Customer.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
20790 20791 20792 20793 20794 20795 20796 20797 20798 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20790 def to_hash { :name => name.to_hash, :number => number, :phone => phone, :email => email, :address => address.nil? ? nil : address.to_hash } end |
#to_json ⇒ Object
20782 20783 20784 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20782 def to_json JSON.dump(to_hash) end |