Class: ThePlaidApi::PartnerEndCustomerBillingContact

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/the_plaid_api/models/partner_end_customer_billing_contact.rb

Overview

The billing contact for the end customer. Defaults to partner’s billing contact if omitted.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(given_name: SKIP, family_name: SKIP, email: SKIP, additional_properties: nil) ⇒ PartnerEndCustomerBillingContact

Returns a new instance of PartnerEndCustomerBillingContact.



48
49
50
51
52
53
54
55
56
57
# File 'lib/the_plaid_api/models/partner_end_customer_billing_contact.rb', line 48

def initialize(given_name: SKIP, family_name: SKIP, email: SKIP,
               additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @given_name = given_name unless given_name == SKIP
  @family_name = family_name unless family_name == SKIP
  @email = email unless email == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#emailString

TODO: Write general description for this method

Returns:

  • (String)


23
24
25
# File 'lib/the_plaid_api/models/partner_end_customer_billing_contact.rb', line 23

def email
  @email
end

#family_nameString

TODO: Write general description for this method

Returns:

  • (String)


19
20
21
# File 'lib/the_plaid_api/models/partner_end_customer_billing_contact.rb', line 19

def family_name
  @family_name
end

#given_nameString

TODO: Write general description for this method

Returns:

  • (String)


15
16
17
# File 'lib/the_plaid_api/models/partner_end_customer_billing_contact.rb', line 15

def given_name
  @given_name
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/the_plaid_api/models/partner_end_customer_billing_contact.rb', line 60

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  given_name = hash.key?('given_name') ? hash['given_name'] : SKIP
  family_name = hash.key?('family_name') ? hash['family_name'] : SKIP
  email = hash.key?('email') ? hash['email'] : SKIP

  # Create a new hash for additional properties, removing known properties.
  new_hash = hash.reject { |k, _| names.value?(k) }

  additional_properties = APIHelper.get_additional_properties(
    new_hash, proc { |value| value }
  )

  # Create object from extracted values.
  PartnerEndCustomerBillingContact.new(given_name: given_name,
                                       family_name: family_name,
                                       email: email,
                                       additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



26
27
28
29
30
31
32
# File 'lib/the_plaid_api/models/partner_end_customer_billing_contact.rb', line 26

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['given_name'] = 'given_name'
  @_hash['family_name'] = 'family_name'
  @_hash['email'] = 'email'
  @_hash
end

.nullablesObject

An array for nullable fields



44
45
46
# File 'lib/the_plaid_api/models/partner_end_customer_billing_contact.rb', line 44

def self.nullables
  []
end

.optionalsObject

An array for optional fields



35
36
37
38
39
40
41
# File 'lib/the_plaid_api/models/partner_end_customer_billing_contact.rb', line 35

def self.optionals
  %w[
    given_name
    family_name
    email
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



90
91
92
93
94
# File 'lib/the_plaid_api/models/partner_end_customer_billing_contact.rb', line 90

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} given_name: #{@given_name.inspect}, family_name: #{@family_name.inspect},"\
  " email: #{@email.inspect}, additional_properties: #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



83
84
85
86
87
# File 'lib/the_plaid_api/models/partner_end_customer_billing_contact.rb', line 83

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} given_name: #{@given_name}, family_name: #{@family_name}, email: #{@email},"\
  " additional_properties: #{@additional_properties}>"
end