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.
15340 15341 15342 15343 15344 15345 15346 15347 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15340 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.
15338 15339 15340 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15338 def email @email end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
15338 15339 15340 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15338 def name @name end |
#number ⇒ Object (readonly)
Returns the value of attribute number.
15338 15339 15340 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15338 def number @number end |
#phone ⇒ Object (readonly)
Returns the value of attribute phone.
15338 15339 15340 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15338 def phone @phone end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
15353 15354 15355 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15353 def copy(incoming={}) Customer.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
15357 15358 15359 15360 15361 15362 15363 15364 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15357 def to_hash { :name => name.to_hash, :number => number, :phone => phone, :email => email } end |
#to_json ⇒ Object
15349 15350 15351 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15349 def to_json JSON.dump(to_hash) end |