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
-
#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
8350 8351 8352 8353 8354 8355 8356 8357 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 8350 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)) end |
Instance Attribute Details
#email ⇒ Object (readonly)
Returns the value of attribute email.
8348 8349 8350 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 8348 def email @email end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
8348 8349 8350 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 8348 def name @name end |
#number ⇒ Object (readonly)
Returns the value of attribute number.
8348 8349 8350 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 8348 def number @number end |
#phone ⇒ Object (readonly)
Returns the value of attribute phone.
8348 8349 8350 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 8348 def phone @phone end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
8363 8364 8365 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 8363 def copy(incoming={}) Customer.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
8367 8368 8369 8370 8371 8372 8373 8374 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 8367 def to_hash { :name => name.to_hash, :number => number, :phone => phone, :email => email } end |
#to_json ⇒ Object
8359 8360 8361 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 8359 def to_json JSON.dump(to_hash) end |