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.
12289 12290 12291 12292 12293 12294 12295 12296 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12289 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.
12287 12288 12289 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12287 def email @email end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
12287 12288 12289 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12287 def name @name end |
#number ⇒ Object (readonly)
Returns the value of attribute number.
12287 12288 12289 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12287 def number @number end |
#phone ⇒ Object (readonly)
Returns the value of attribute phone.
12287 12288 12289 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12287 def phone @phone end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
12302 12303 12304 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12302 def copy(incoming={}) Customer.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
12306 12307 12308 12309 12310 12311 12312 12313 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12306 def to_hash { :name => name.to_hash, :number => number, :phone => phone, :email => email } end |
#to_json ⇒ Object
12298 12299 12300 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12298 def to_json JSON.dump(to_hash) end |