Class: Ingenico::Connect::SDK::Domain::Payment::Customer

Inherits:
Definitions::CustomerBase show all
Defined in:
lib/ingenico/connect/sdk/domain/payment/customer.rb

Instance Attribute Summary collapse

Attributes inherited from Definitions::CustomerBase

#company_information, #merchant_customer_id, #vat_number

Instance Method Summary collapse

Methods inherited from Ingenico::Connect::SDK::DataObject

new_from_hash

Instance Attribute Details

#accountIngenico::Connect::SDK::Domain::Payment::CustomerAccount



27
28
29
# File 'lib/ingenico/connect/sdk/domain/payment/customer.rb', line 27

def 
  @account
end

#account_typeString



27
28
29
# File 'lib/ingenico/connect/sdk/domain/payment/customer.rb', line 27

def 
  @account_type
end

#billing_addressIngenico::Connect::SDK::Domain::Definitions::Address



27
28
29
# File 'lib/ingenico/connect/sdk/domain/payment/customer.rb', line 27

def billing_address
  @billing_address
end

#contact_detailsIngenico::Connect::SDK::Domain::Payment::ContactDetails



27
28
29
# File 'lib/ingenico/connect/sdk/domain/payment/customer.rb', line 27

def contact_details
  @contact_details
end

#deviceIngenico::Connect::SDK::Domain::Payment::CustomerDevice



27
28
29
# File 'lib/ingenico/connect/sdk/domain/payment/customer.rb', line 27

def device
  @device
end

#fiscal_numberString



27
28
29
# File 'lib/ingenico/connect/sdk/domain/payment/customer.rb', line 27

def fiscal_number
  @fiscal_number
end

#is_previous_customertrue/false



27
28
29
# File 'lib/ingenico/connect/sdk/domain/payment/customer.rb', line 27

def is_previous_customer
  @is_previous_customer
end

#localeString



27
28
29
# File 'lib/ingenico/connect/sdk/domain/payment/customer.rb', line 27

def locale
  @locale
end

#personal_informationIngenico::Connect::SDK::Domain::Payment::PersonalInformation



27
28
29
# File 'lib/ingenico/connect/sdk/domain/payment/customer.rb', line 27

def personal_information
  @personal_information
end

#shipping_addressObject

Deprecated.

Use Order.shipping.address instead



27
28
29
# File 'lib/ingenico/connect/sdk/domain/payment/customer.rb', line 27

def shipping_address
  @shipping_address
end

Instance Method Details

#from_hash(hash) ⇒ Object



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/ingenico/connect/sdk/domain/payment/customer.rb', line 67

def from_hash(hash)
  super
  if hash.has_key? 'account'
    raise TypeError, "value '%s' is not a Hash" % [hash['account']] unless hash['account'].is_a? Hash
    @account = Ingenico::Connect::SDK::Domain::Payment::CustomerAccount.new_from_hash(hash['account'])
  end
  if hash.has_key? 'accountType'
    @account_type = hash['accountType']
  end
  if hash.has_key? 'billingAddress'
    raise TypeError, "value '%s' is not a Hash" % [hash['billingAddress']] unless hash['billingAddress'].is_a? Hash
    @billing_address = Ingenico::Connect::SDK::Domain::Definitions::Address.new_from_hash(hash['billingAddress'])
  end
  if hash.has_key? 'contactDetails'
    raise TypeError, "value '%s' is not a Hash" % [hash['contactDetails']] unless hash['contactDetails'].is_a? Hash
    @contact_details = Ingenico::Connect::SDK::Domain::Payment::ContactDetails.new_from_hash(hash['contactDetails'])
  end
  if hash.has_key? 'device'
    raise TypeError, "value '%s' is not a Hash" % [hash['device']] unless hash['device'].is_a? Hash
    @device = Ingenico::Connect::SDK::Domain::Payment::CustomerDevice.new_from_hash(hash['device'])
  end
  if hash.has_key? 'fiscalNumber'
    @fiscal_number = hash['fiscalNumber']
  end
  if hash.has_key? 'isPreviousCustomer'
    @is_previous_customer = hash['isPreviousCustomer']
  end
  if hash.has_key? 'locale'
    @locale = hash['locale']
  end
  if hash.has_key? 'personalInformation'
    raise TypeError, "value '%s' is not a Hash" % [hash['personalInformation']] unless hash['personalInformation'].is_a? Hash
    @personal_information = Ingenico::Connect::SDK::Domain::Payment::PersonalInformation.new_from_hash(hash['personalInformation'])
  end
  if hash.has_key? 'shippingAddress'
    raise TypeError, "value '%s' is not a Hash" % [hash['shippingAddress']] unless hash['shippingAddress'].is_a? Hash
    @shipping_address = Ingenico::Connect::SDK::Domain::Payment::AddressPersonal.new_from_hash(hash['shippingAddress'])
  end
end

#to_hHash



52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/ingenico/connect/sdk/domain/payment/customer.rb', line 52

def to_h
  hash = super
  hash['account'] = @account.to_h unless @account.nil?
  hash['accountType'] = @account_type unless @account_type.nil?
  hash['billingAddress'] = @billing_address.to_h unless @billing_address.nil?
  hash['contactDetails'] = @contact_details.to_h unless @contact_details.nil?
  hash['device'] = @device.to_h unless @device.nil?
  hash['fiscalNumber'] = @fiscal_number unless @fiscal_number.nil?
  hash['isPreviousCustomer'] = @is_previous_customer unless @is_previous_customer.nil?
  hash['locale'] = @locale unless @locale.nil?
  hash['personalInformation'] = @personal_information.to_h unless @personal_information.nil?
  hash['shippingAddress'] = @shipping_address.to_h unless @shipping_address.nil?
  hash
end