Class: ThePlaidApi::InvestmentsAuth401KContributionDetails

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

Overview

Object containing information on contribution transactions for the 401k account. Note that the sum fields in this object represent the total of absolute contribution values.

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(last_contribution_transactions:, contribution_count_1m:, contribution_amount_1m:, contribution_count_6m:, contribution_amount_6m:, contribution_count_12m:, contribution_amount_12m:, additional_properties: nil) ⇒ InvestmentsAuth401KContributionDetails

Returns a new instance of InvestmentsAuth401KContributionDetails.



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/the_plaid_api/models/investments_auth401_k_contribution_details.rb', line 71

def initialize(last_contribution_transactions:, contribution_count_1m:,
               contribution_amount_1m:, contribution_count_6m:,
               contribution_amount_6m:, contribution_count_12m:,
               contribution_amount_12m:, additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @last_contribution_transactions = last_contribution_transactions
  @contribution_count_1m = contribution_count_1m
  @contribution_amount_1m = contribution_amount_1m
  @contribution_count_6m = contribution_count_6m
  @contribution_amount_6m = contribution_amount_6m
  @contribution_count_12m = contribution_count_12m
  @contribution_amount_12m = contribution_amount_12m
  @additional_properties = additional_properties
end

Instance Attribute Details

#contribution_amount_12mFloat

Sum of the contribution transactions on this account, for the past 12 months.

Returns:

  • (Float)


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

def contribution_amount_12m
  @contribution_amount_12m
end

#contribution_amount_1mFloat

Sum of the contribution transactions on this account, for the past month.

Returns:

  • (Float)


25
26
27
# File 'lib/the_plaid_api/models/investments_auth401_k_contribution_details.rb', line 25

def contribution_amount_1m
  @contribution_amount_1m
end

#contribution_amount_6mFloat

Sum of the contribution transactions on this account, for the past 6 months.

Returns:

  • (Float)


35
36
37
# File 'lib/the_plaid_api/models/investments_auth401_k_contribution_details.rb', line 35

def contribution_amount_6m
  @contribution_amount_6m
end

#contribution_count_12mInteger

Number of contribution transactions on this account, for the past 12 months.

Returns:

  • (Integer)


40
41
42
# File 'lib/the_plaid_api/models/investments_auth401_k_contribution_details.rb', line 40

def contribution_count_12m
  @contribution_count_12m
end

#contribution_count_1mInteger

Number of contribution transactions on this account, for the past month.

Returns:

  • (Integer)


21
22
23
# File 'lib/the_plaid_api/models/investments_auth401_k_contribution_details.rb', line 21

def contribution_count_1m
  @contribution_count_1m
end

#contribution_count_6mInteger

Number of contribution transactions on this account, for the past 6 months.

Returns:

  • (Integer)


30
31
32
# File 'lib/the_plaid_api/models/investments_auth401_k_contribution_details.rb', line 30

def contribution_count_6m
  @contribution_count_6m
end

#last_contribution_transactionsArray[InvestmentTransaction]

A list of the most recent contribution transactions for the 401k account. Includes all contributions made on the same day.

Returns:



17
18
19
# File 'lib/the_plaid_api/models/investments_auth401_k_contribution_details.rb', line 17

def last_contribution_transactions
  @last_contribution_transactions
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# File 'lib/the_plaid_api/models/investments_auth401_k_contribution_details.rb', line 89

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  # Parameter is an array, so we need to iterate through it
  last_contribution_transactions = nil
  unless hash['last_contribution_transactions'].nil?
    last_contribution_transactions = []
    hash['last_contribution_transactions'].each do |structure|
      last_contribution_transactions << (InvestmentTransaction.from_hash(structure) if structure)
    end
  end

  last_contribution_transactions = nil unless hash.key?('last_contribution_transactions')
  contribution_count_1m =
    hash.key?('contribution_count_1m') ? hash['contribution_count_1m'] : nil
  contribution_amount_1m =
    hash.key?('contribution_amount_1m') ? hash['contribution_amount_1m'] : nil
  contribution_count_6m =
    hash.key?('contribution_count_6m') ? hash['contribution_count_6m'] : nil
  contribution_amount_6m =
    hash.key?('contribution_amount_6m') ? hash['contribution_amount_6m'] : nil
  contribution_count_12m =
    hash.key?('contribution_count_12m') ? hash['contribution_count_12m'] : nil
  contribution_amount_12m =
    hash.key?('contribution_amount_12m') ? hash['contribution_amount_12m'] : nil

  # 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.
  InvestmentsAuth401KContributionDetails.new(last_contribution_transactions: last_contribution_transactions,
                                             contribution_count_1m: contribution_count_1m,
                                             contribution_amount_1m: contribution_amount_1m,
                                             contribution_count_6m: contribution_count_6m,
                                             contribution_amount_6m: contribution_amount_6m,
                                             contribution_count_12m: contribution_count_12m,
                                             contribution_amount_12m: contribution_amount_12m,
                                             additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



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

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['last_contribution_transactions'] =
    'last_contribution_transactions'
  @_hash['contribution_count_1m'] = 'contribution_count_1m'
  @_hash['contribution_amount_1m'] = 'contribution_amount_1m'
  @_hash['contribution_count_6m'] = 'contribution_count_6m'
  @_hash['contribution_amount_6m'] = 'contribution_amount_6m'
  @_hash['contribution_count_12m'] = 'contribution_count_12m'
  @_hash['contribution_amount_12m'] = 'contribution_amount_12m'
  @_hash
end

.nullablesObject

An array for nullable fields



67
68
69
# File 'lib/the_plaid_api/models/investments_auth401_k_contribution_details.rb', line 67

def self.nullables
  []
end

.optionalsObject

An array for optional fields



62
63
64
# File 'lib/the_plaid_api/models/investments_auth401_k_contribution_details.rb', line 62

def self.optionals
  []
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



146
147
148
149
150
151
152
153
154
155
# File 'lib/the_plaid_api/models/investments_auth401_k_contribution_details.rb', line 146

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} last_contribution_transactions: #{@last_contribution_transactions.inspect},"\
  " contribution_count_1m: #{@contribution_count_1m.inspect}, contribution_amount_1m:"\
  " #{@contribution_amount_1m.inspect}, contribution_count_6m:"\
  " #{@contribution_count_6m.inspect}, contribution_amount_6m:"\
  " #{@contribution_amount_6m.inspect}, contribution_count_12m:"\
  " #{@contribution_count_12m.inspect}, contribution_amount_12m:"\
  " #{@contribution_amount_12m.inspect}, additional_properties: #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



135
136
137
138
139
140
141
142
143
# File 'lib/the_plaid_api/models/investments_auth401_k_contribution_details.rb', line 135

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} last_contribution_transactions: #{@last_contribution_transactions},"\
  " contribution_count_1m: #{@contribution_count_1m}, contribution_amount_1m:"\
  " #{@contribution_amount_1m}, contribution_count_6m: #{@contribution_count_6m},"\
  " contribution_amount_6m: #{@contribution_amount_6m}, contribution_count_12m:"\
  " #{@contribution_count_12m}, contribution_amount_12m: #{@contribution_amount_12m},"\
  " additional_properties: #{@additional_properties}>"
end