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.
15273 15274 15275 15276 15277 15278 15279 15280 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15273 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.
15271 15272 15273 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15271 def email @email end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
15271 15272 15273 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15271 def name @name end |
#number ⇒ Object (readonly)
Returns the value of attribute number.
15271 15272 15273 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15271 def number @number end |
#phone ⇒ Object (readonly)
Returns the value of attribute phone.
15271 15272 15273 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15271 def phone @phone end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
15286 15287 15288 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15286 def copy(incoming={}) Customer.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
15290 15291 15292 15293 15294 15295 15296 15297 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15290 def to_hash { :name => name.to_hash, :number => number, :phone => phone, :email => email } end |
#to_json ⇒ Object
15282 15283 15284 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15282 def to_json JSON.dump(to_hash) end |