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.
17528 17529 17530 17531 17532 17533 17534 17535 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17528 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.
17526 17527 17528 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17526 def email @email end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
17526 17527 17528 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17526 def name @name end |
#number ⇒ Object (readonly)
Returns the value of attribute number.
17526 17527 17528 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17526 def number @number end |
#phone ⇒ Object (readonly)
Returns the value of attribute phone.
17526 17527 17528 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17526 def phone @phone end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
17541 17542 17543 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17541 def copy(incoming={}) Customer.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
17545 17546 17547 17548 17549 17550 17551 17552 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17545 def to_hash { :name => name.to_hash, :number => number, :phone => phone, :email => email } end |
#to_json ⇒ Object
17537 17538 17539 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17537 def to_json JSON.dump(to_hash) end |