Class: OnlinePayments::SDK::Domain::Customer

Inherits:
OnlinePayments::SDK::DataObject show all
Defined in:
lib/onlinepayments/sdk/domain/customer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from OnlinePayments::SDK::DataObject

new_from_hash

Instance Attribute Details

#accountOnlinePayments::SDK::Domain::CustomerAccount

Returns the current value of account.

Returns:



25
26
27
# File 'lib/onlinepayments/sdk/domain/customer.rb', line 25

def 
  @account
end

#account_typeString

Returns the current value of account_type.

Returns:

  • (String)

    the current value of account_type



25
26
27
# File 'lib/onlinepayments/sdk/domain/customer.rb', line 25

def 
  @account_type
end

#billing_addressOnlinePayments::SDK::Domain::Address

Returns the current value of billing_address.

Returns:



25
26
27
# File 'lib/onlinepayments/sdk/domain/customer.rb', line 25

def billing_address
  @billing_address
end

#company_informationOnlinePayments::SDK::Domain::CompanyInformation

Returns the current value of company_information.

Returns:



25
26
27
# File 'lib/onlinepayments/sdk/domain/customer.rb', line 25

def company_information
  @company_information
end

#contact_detailsOnlinePayments::SDK::Domain::ContactDetails

Returns the current value of contact_details.

Returns:



25
26
27
# File 'lib/onlinepayments/sdk/domain/customer.rb', line 25

def contact_details
  @contact_details
end

#deviceOnlinePayments::SDK::Domain::CustomerDevice

Returns the current value of device.

Returns:



25
26
27
# File 'lib/onlinepayments/sdk/domain/customer.rb', line 25

def device
  @device
end

#fiscal_numberString

Returns the current value of fiscal_number.

Returns:

  • (String)

    the current value of fiscal_number



25
26
27
# File 'lib/onlinepayments/sdk/domain/customer.rb', line 25

def fiscal_number
  @fiscal_number
end

#localeString

Returns the current value of locale.

Returns:

  • (String)

    the current value of locale



25
26
27
# File 'lib/onlinepayments/sdk/domain/customer.rb', line 25

def locale
  @locale
end

#merchant_customer_idString

Returns the current value of merchant_customer_id.

Returns:

  • (String)

    the current value of merchant_customer_id



25
26
27
# File 'lib/onlinepayments/sdk/domain/customer.rb', line 25

def merchant_customer_id
  @merchant_customer_id
end

#personal_informationOnlinePayments::SDK::Domain::PersonalInformation

Returns the current value of personal_information.

Returns:



25
26
27
# File 'lib/onlinepayments/sdk/domain/customer.rb', line 25

def personal_information
  @personal_information
end

Instance Method Details

#from_hash(hash) ⇒ Object



53
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
# File 'lib/onlinepayments/sdk/domain/customer.rb', line 53

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 = OnlinePayments::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 = OnlinePayments::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 = OnlinePayments::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 = OnlinePayments::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 = OnlinePayments::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 = OnlinePayments::SDK::Domain::PersonalInformation.new_from_hash(hash['personalInformation'])
  end
end

#to_hHash

Returns:

  • (Hash)


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

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