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
Returns a new instance of Customer.
15322 15323 15324 15325 15326 15327 15328 15329 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15322 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.
15320 15321 15322 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15320 def email @email end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
15320 15321 15322 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15320 def name @name end |
#number ⇒ Object (readonly)
Returns the value of attribute number.
15320 15321 15322 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15320 def number @number end |
#phone ⇒ Object (readonly)
Returns the value of attribute phone.
15320 15321 15322 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15320 def phone @phone end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
15335 15336 15337 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15335 def copy(incoming={}) Customer.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
15339 15340 15341 15342 15343 15344 15345 15346 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15339 def to_hash { :name => name.to_hash, :number => number, :phone => phone, :email => email } end |
#to_json ⇒ Object
15331 15332 15333 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15331 def to_json JSON.dump(to_hash) end |