Class: ThePlaidApi::BeaconUserUpdateRequestData

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

Overview

A subset of a Beacon User’s data which is used to patch the existing identity data associated with a Beacon User. At least one field must be provided. If left unset or null, user data will not be patched.

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(date_of_birth: SKIP, name: SKIP, address: SKIP, email_address: SKIP, phone_number: SKIP, id_number: SKIP, ip_address: SKIP, depository_accounts: SKIP, additional_properties: nil) ⇒ BeaconUserUpdateRequestData

Returns a new instance of BeaconUserUpdateRequestData.



90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# File 'lib/the_plaid_api/models/beacon_user_update_request_data.rb', line 90

def initialize(date_of_birth: SKIP, name: SKIP, address: SKIP,
               email_address: SKIP, phone_number: SKIP, id_number: SKIP,
               ip_address: SKIP, depository_accounts: SKIP,
               additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @date_of_birth = date_of_birth unless date_of_birth == SKIP
  @name = name unless name == SKIP
  @address = address unless address == SKIP
  @email_address = email_address unless email_address == SKIP
  @phone_number = phone_number unless phone_number == SKIP
  @id_number = id_number unless id_number == SKIP
  @ip_address = ip_address unless ip_address == SKIP
  @depository_accounts = depository_accounts unless depository_accounts == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#addressBeaconUserRequestAddress

Home address for the associated user. For more context on this field, see [Input Validation by Country](plaid.com/docs/identity-verification/hybrid-input-validat ion/#input-validation-by-country).



27
28
29
# File 'lib/the_plaid_api/models/beacon_user_update_request_data.rb', line 27

def address
  @address
end

#date_of_birthDate

A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).

Returns:

  • (Date)


16
17
18
# File 'lib/the_plaid_api/models/beacon_user_update_request_data.rb', line 16

def date_of_birth
  @date_of_birth
end

#depository_accountsArray[BeaconUserRequestDepositoryAccount]

An IPv4 or IPV6 address.



49
50
51
# File 'lib/the_plaid_api/models/beacon_user_update_request_data.rb', line 49

def depository_accounts
  @depository_accounts
end

#email_addressString

A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](datatracker.ietf.org/doc/html/rfc3696).

Returns:

  • (String)


33
34
35
# File 'lib/the_plaid_api/models/beacon_user_update_request_data.rb', line 33

def email_address
  @email_address
end

#id_numberBeaconUserIdNumber

The ID number associated with a Beacon User.

Returns:



41
42
43
# File 'lib/the_plaid_api/models/beacon_user_update_request_data.rb', line 41

def id_number
  @id_number
end

#ip_addressString

An IPv4 or IPV6 address.

Returns:

  • (String)


45
46
47
# File 'lib/the_plaid_api/models/beacon_user_update_request_data.rb', line 45

def ip_address
  @ip_address
end

#nameBeaconUserName

The full name for a given Beacon User.

Returns:



20
21
22
# File 'lib/the_plaid_api/models/beacon_user_update_request_data.rb', line 20

def name
  @name
end

#phone_numberString

A phone number in E.164 format.

Returns:

  • (String)


37
38
39
# File 'lib/the_plaid_api/models/beacon_user_update_request_data.rb', line 37

def phone_number
  @phone_number
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# File 'lib/the_plaid_api/models/beacon_user_update_request_data.rb', line 109

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  date_of_birth = hash.key?('date_of_birth') ? hash['date_of_birth'] : SKIP
  name = BeaconUserName.from_hash(hash['name']) if hash['name']
  address = BeaconUserRequestAddress.from_hash(hash['address']) if hash['address']
  email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
  phone_number = hash.key?('phone_number') ? hash['phone_number'] : SKIP
  id_number = BeaconUserIdNumber.from_hash(hash['id_number']) if hash['id_number']
  ip_address = hash.key?('ip_address') ? hash['ip_address'] : SKIP
  # Parameter is an array, so we need to iterate through it
  depository_accounts = nil
  unless hash['depository_accounts'].nil?
    depository_accounts = []
    hash['depository_accounts'].each do |structure|
      depository_accounts << (BeaconUserRequestDepositoryAccount.from_hash(structure) if structure)
    end
  end

  depository_accounts = SKIP unless hash.key?('depository_accounts')

  # 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.
  BeaconUserUpdateRequestData.new(date_of_birth: date_of_birth,
                                  name: name,
                                  address: address,
                                  email_address: email_address,
                                  phone_number: phone_number,
                                  id_number: id_number,
                                  ip_address: ip_address,
                                  depository_accounts: depository_accounts,
                                  additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/the_plaid_api/models/beacon_user_update_request_data.rb', line 52

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['date_of_birth'] = 'date_of_birth'
  @_hash['name'] = 'name'
  @_hash['address'] = 'address'
  @_hash['email_address'] = 'email_address'
  @_hash['phone_number'] = 'phone_number'
  @_hash['id_number'] = 'id_number'
  @_hash['ip_address'] = 'ip_address'
  @_hash['depository_accounts'] = 'depository_accounts'
  @_hash
end

.nullablesObject

An array for nullable fields



80
81
82
83
84
85
86
87
88
# File 'lib/the_plaid_api/models/beacon_user_update_request_data.rb', line 80

def self.nullables
  %w[
    name
    address
    phone_number
    id_number
    ip_address
  ]
end

.optionalsObject

An array for optional fields



66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/the_plaid_api/models/beacon_user_update_request_data.rb', line 66

def self.optionals
  %w[
    date_of_birth
    name
    address
    email_address
    phone_number
    id_number
    ip_address
    depository_accounts
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



160
161
162
163
164
165
166
167
# File 'lib/the_plaid_api/models/beacon_user_update_request_data.rb', line 160

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} date_of_birth: #{@date_of_birth.inspect}, name: #{@name.inspect}, address:"\
  " #{@address.inspect}, email_address: #{@email_address.inspect}, phone_number:"\
  " #{@phone_number.inspect}, id_number: #{@id_number.inspect}, ip_address:"\
  " #{@ip_address.inspect}, depository_accounts: #{@depository_accounts.inspect},"\
  " additional_properties: #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



151
152
153
154
155
156
157
# File 'lib/the_plaid_api/models/beacon_user_update_request_data.rb', line 151

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} date_of_birth: #{@date_of_birth}, name: #{@name}, address: #{@address},"\
  " email_address: #{@email_address}, phone_number: #{@phone_number}, id_number:"\
  " #{@id_number}, ip_address: #{@ip_address}, depository_accounts: #{@depository_accounts},"\
  " additional_properties: #{@additional_properties}>"
end