Class: Ingenico::Direct::SDK::Domain::Customer

Inherits:
Ingenico::Direct::SDK::DataObject show all
Defined in:
lib/ingenico/direct/sdk/domain/customer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Ingenico::Direct::SDK::DataObject

new_from_hash

Instance Attribute Details

#accountIngenico::Direct::SDK::Domain::CustomerAccount

Returns the current value of account.

Returns:



26
27
28
# File 'lib/ingenico/direct/sdk/domain/customer.rb', line 26

def 
  @account
end

#account_typeString

Returns the current value of account_type.

Returns:

  • (String)

    the current value of account_type



26
27
28
# File 'lib/ingenico/direct/sdk/domain/customer.rb', line 26

def 
  @account_type
end

#billing_addressIngenico::Direct::SDK::Domain::Address

Returns the current value of billing_address.

Returns:



26
27
28
# File 'lib/ingenico/direct/sdk/domain/customer.rb', line 26

def billing_address
  @billing_address
end

#company_informationIngenico::Direct::SDK::Domain::CompanyInformation

Returns the current value of company_information.

Returns:



26
27
28
# File 'lib/ingenico/direct/sdk/domain/customer.rb', line 26

def company_information
  @company_information
end

#contact_detailsIngenico::Direct::SDK::Domain::ContactDetails

Returns the current value of contact_details.

Returns:



26
27
28
# File 'lib/ingenico/direct/sdk/domain/customer.rb', line 26

def contact_details
  @contact_details
end

#deviceIngenico::Direct::SDK::Domain::CustomerDevice

Returns the current value of device.

Returns:



26
27
28
# File 'lib/ingenico/direct/sdk/domain/customer.rb', line 26

def device
  @device
end

#fiscal_numberString

Returns the current value of fiscal_number.

Returns:

  • (String)

    the current value of fiscal_number



26
27
28
# File 'lib/ingenico/direct/sdk/domain/customer.rb', line 26

def fiscal_number
  @fiscal_number
end

#localeString

Returns the current value of locale.

Returns:

  • (String)

    the current value of locale



26
27
28
# File 'lib/ingenico/direct/sdk/domain/customer.rb', line 26

def locale
  @locale
end

#merchant_customer_idString

Returns the current value of merchant_customer_id.

Returns:

  • (String)

    the current value of merchant_customer_id



26
27
28
# File 'lib/ingenico/direct/sdk/domain/customer.rb', line 26

def merchant_customer_id
  @merchant_customer_id
end

#personal_informationIngenico::Direct::SDK::Domain::PersonalInformation

Returns the current value of personal_information.

Returns:



26
27
28
# File 'lib/ingenico/direct/sdk/domain/customer.rb', line 26

def personal_information
  @personal_information
end

Instance Method Details

#from_hash(hash) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/ingenico/direct/sdk/domain/customer.rb', line 54

def from_hash(hash)
  super
  if hash.key? 'account'
    raise TypeError, "value '%s' is not a Hash" % [hash['account']] unless hash['account'].is_a? Hash
    @account = Ingenico::Direct::SDK::Domain::CustomerAccount.new_from_hash(hash['account'])
  end
  @account_type = hash['accountType'] if hash.key? 'accountType'
  if hash.key? 'billingAddress'
    raise TypeError, "value '%s' is not a Hash" % [hash['billingAddress']] unless hash['billingAddress'].is_a? Hash
    @billing_address = Ingenico::Direct::SDK::Domain::Address.new_from_hash(hash['billingAddress'])
  end
  if hash.key? 'companyInformation'
    raise TypeError, "value '%s' is not a Hash" % [hash['companyInformation']] unless hash['companyInformation'].is_a? Hash
    @company_information = Ingenico::Direct::SDK::Domain::CompanyInformation.new_from_hash(hash['companyInformation'])
  end
  if hash.key? 'contactDetails'
    raise TypeError, "value '%s' is not a Hash" % [hash['contactDetails']] unless hash['contactDetails'].is_a? Hash
    @contact_details = Ingenico::Direct::SDK::Domain::ContactDetails.new_from_hash(hash['contactDetails'])
  end
  if hash.key? 'device'
    raise TypeError, "value '%s' is not a Hash" % [hash['device']] unless hash['device'].is_a? Hash
    @device = Ingenico::Direct::SDK::Domain::CustomerDevice.new_from_hash(hash['device'])
  end
  @fiscal_number = hash['fiscalNumber'] if hash.key? 'fiscalNumber'
  @locale = hash['locale'] if hash.key? 'locale'
  @merchant_customer_id = hash['merchantCustomerId'] if hash.key? 'merchantCustomerId'
  if hash.key? 'personalInformation'
    raise TypeError, "value '%s' is not a Hash" % [hash['personalInformation']] unless hash['personalInformation'].is_a? Hash
    @personal_information = Ingenico::Direct::SDK::Domain::PersonalInformation.new_from_hash(hash['personalInformation'])
  end
end

#to_hHash

Returns:

  • (Hash)


39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/ingenico/direct/sdk/domain/customer.rb', line 39

def to_h
  hash = super
  hash['account'] = @account.to_h if @account
  hash['accountType'] = @account_type unless @account_type.nil?
  hash['billingAddress'] = @billing_address.to_h if @billing_address
  hash['companyInformation'] = @company_information.to_h if @company_information
  hash['contactDetails'] = @contact_details.to_h if @contact_details
  hash['device'] = @device.to_h if @device
  hash['fiscalNumber'] = @fiscal_number unless @fiscal_number.nil?
  hash['locale'] = @locale unless @locale.nil?
  hash['merchantCustomerId'] = @merchant_customer_id unless @merchant_customer_id.nil?
  hash['personalInformation'] = @personal_information.to_h if @personal_information
  hash
end