apimatic-ak-sdk 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +190 -0
  4. data/bin/console +15 -0
  5. data/lib/akoya/api_helper.rb +10 -0
  6. data/lib/akoya/client.rb +117 -0
  7. data/lib/akoya/configuration.rb +195 -0
  8. data/lib/akoya/controllers/account_information_controller.rb +93 -0
  9. data/lib/akoya/controllers/balances_controller.rb +92 -0
  10. data/lib/akoya/controllers/base_controller.rb +65 -0
  11. data/lib/akoya/controllers/customers_controller.rb +112 -0
  12. data/lib/akoya/controllers/investments_controller.rb +95 -0
  13. data/lib/akoya/controllers/payments_controller.rb +70 -0
  14. data/lib/akoya/controllers/statements_controller.rb +158 -0
  15. data/lib/akoya/controllers/tokens_controller.rb +122 -0
  16. data/lib/akoya/controllers/transactions_controller.rb +108 -0
  17. data/lib/akoya/exceptions/api_exception.rb +21 -0
  18. data/lib/akoya/exceptions/error_entity_exception.rb +54 -0
  19. data/lib/akoya/exceptions/error_response_exception.rb +53 -0
  20. data/lib/akoya/http/api_response.rb +19 -0
  21. data/lib/akoya/http/auth/basic_auth.rb +62 -0
  22. data/lib/akoya/http/auth/bearer_auth.rb +53 -0
  23. data/lib/akoya/http/http_call_back.rb +10 -0
  24. data/lib/akoya/http/http_method_enum.rb +10 -0
  25. data/lib/akoya/http/http_request.rb +10 -0
  26. data/lib/akoya/http/http_response.rb +10 -0
  27. data/lib/akoya/http/proxy_settings.rb +22 -0
  28. data/lib/akoya/logging/configuration/api_logging_configuration.rb +186 -0
  29. data/lib/akoya/logging/sdk_logger.rb +17 -0
  30. data/lib/akoya/models/account.rb +86 -0
  31. data/lib/akoya/models/account_category.rb +50 -0
  32. data/lib/akoya/models/account_contact_entity.rb +132 -0
  33. data/lib/akoya/models/account_holder_entity.rb +178 -0
  34. data/lib/akoya/models/account_holder_relationship.rb +110 -0
  35. data/lib/akoya/models/account_holder_relationship_account_holder_entity.rb +110 -0
  36. data/lib/akoya/models/account_information.rb +335 -0
  37. data/lib/akoya/models/action.rb +48 -0
  38. data/lib/akoya/models/address.rb +144 -0
  39. data/lib/akoya/models/akoya_account_info_product.rb +88 -0
  40. data/lib/akoya/models/an_array_of_statements.rb +95 -0
  41. data/lib/akoya/models/an_investment_holding.rb +493 -0
  42. data/lib/akoya/models/annual_increase_type.rb +40 -0
  43. data/lib/akoya/models/annuity_account.rb +370 -0
  44. data/lib/akoya/models/annuity_account_info.rb +86 -0
  45. data/lib/akoya/models/annuity_balance_details.rb +87 -0
  46. data/lib/akoya/models/annuity_balances.rb +477 -0
  47. data/lib/akoya/models/annuity_product_type.rb +36 -0
  48. data/lib/akoya/models/annuity_value_basis.rb +36 -0
  49. data/lib/akoya/models/array_of_account_payment_networks.rb +85 -0
  50. data/lib/akoya/models/asset_class.rb +95 -0
  51. data/lib/akoya/models/asset_class_an_investment_holding.rb +85 -0
  52. data/lib/akoya/models/asset_class_asset_class.rb +56 -0
  53. data/lib/akoya/models/asset_class_citi_bank_investment_holdings.rb +86 -0
  54. data/lib/akoya/models/balance_type.rb +37 -0
  55. data/lib/akoya/models/balance_type_investment_balance_list.rb +36 -0
  56. data/lib/akoya/models/balances.rb +88 -0
  57. data/lib/akoya/models/base_model.rb +110 -0
  58. data/lib/akoya/models/business_customer_entity.rb +127 -0
  59. data/lib/akoya/models/business_customer_entity_account_holder_entity.rb +126 -0
  60. data/lib/akoya/models/business_customer_entity_customer.rb +126 -0
  61. data/lib/akoya/models/call_type.rb +44 -0
  62. data/lib/akoya/models/citi_bank_investment.rb +535 -0
  63. data/lib/akoya/models/citi_bank_investment_details.rb +75 -0
  64. data/lib/akoya/models/citi_bank_investment_holdings.rb +210 -0
  65. data/lib/akoya/models/compounding_period.rb +56 -0
  66. data/lib/akoya/models/contribution_entity.rb +266 -0
  67. data/lib/akoya/models/coupon_mature_frequency.rb +48 -0
  68. data/lib/akoya/models/currency.rb +108 -0
  69. data/lib/akoya/models/currency_citi_bank_investment_holdings.rb +86 -0
  70. data/lib/akoya/models/currency_entity.rb +109 -0
  71. data/lib/akoya/models/current_customer.rb +75 -0
  72. data/lib/akoya/models/customer.rb +164 -0
  73. data/lib/akoya/models/customer_current_customer.rb +164 -0
  74. data/lib/akoya/models/customer_name.rb +127 -0
  75. data/lib/akoya/models/customer_name_account_holder_entity.rb +127 -0
  76. data/lib/akoya/models/customer_name_customer.rb +127 -0
  77. data/lib/akoya/models/debit_credit_memo.rb +37 -0
  78. data/lib/akoya/models/debt_class.rb +44 -0
  79. data/lib/akoya/models/debt_security.rb +137 -0
  80. data/lib/akoya/models/debt_security_entity.rb +216 -0
  81. data/lib/akoya/models/debt_type.rb +36 -0
  82. data/lib/akoya/models/delivery_address.rb +153 -0
  83. data/lib/akoya/models/deposit_account.rb +375 -0
  84. data/lib/akoya/models/deposit_account_info.rb +86 -0
  85. data/lib/akoya/models/deposit_balance_details.rb +87 -0
  86. data/lib/akoya/models/deposit_balances.rb +438 -0
  87. data/lib/akoya/models/deposit_transaction.rb +369 -0
  88. data/lib/akoya/models/deposit_transaction_details.rb +87 -0
  89. data/lib/akoya/models/domicile.rb +85 -0
  90. data/lib/akoya/models/equity_grant.rb +199 -0
  91. data/lib/akoya/models/error_entity_account_information.rb +97 -0
  92. data/lib/akoya/models/error_entity_annuity_account.rb +97 -0
  93. data/lib/akoya/models/error_entity_annuity_balances.rb +97 -0
  94. data/lib/akoya/models/error_entity_citi_bank_investment.rb +97 -0
  95. data/lib/akoya/models/error_entity_deposit_account.rb +97 -0
  96. data/lib/akoya/models/error_entity_deposit_balances.rb +97 -0
  97. data/lib/akoya/models/error_entity_insurance_account.rb +97 -0
  98. data/lib/akoya/models/error_entity_insurance_balances.rb +97 -0
  99. data/lib/akoya/models/error_entity_investment_account.rb +97 -0
  100. data/lib/akoya/models/error_entity_investment_balances.rb +97 -0
  101. data/lib/akoya/models/error_entity_line_of_credit_balances.rb +97 -0
  102. data/lib/akoya/models/error_entity_loan_account.rb +97 -0
  103. data/lib/akoya/models/error_entity_loan_balances.rb +97 -0
  104. data/lib/akoya/models/error_entity_us_bank_investment.rb +97 -0
  105. data/lib/akoya/models/fi_asset_class.rb +95 -0
  106. data/lib/akoya/models/fi_asset_class_an_investment_holding.rb +85 -0
  107. data/lib/akoya/models/fi_attribute.rb +95 -0
  108. data/lib/akoya/models/fi_attribute_entity.rb +95 -0
  109. data/lib/akoya/models/frequency.rb +56 -0
  110. data/lib/akoya/models/hateoas_link.rb +105 -0
  111. data/lib/akoya/models/held_in_account.rb +44 -0
  112. data/lib/akoya/models/holding_sub_type.rb +36 -0
  113. data/lib/akoya/models/holding_type.rb +56 -0
  114. data/lib/akoya/models/income_type.rb +41 -0
  115. data/lib/akoya/models/industry_code.rb +85 -0
  116. data/lib/akoya/models/insurance_account.rb +349 -0
  117. data/lib/akoya/models/insurance_account_info.rb +87 -0
  118. data/lib/akoya/models/insurance_balance_details.rb +87 -0
  119. data/lib/akoya/models/insurance_balances.rb +420 -0
  120. data/lib/akoya/models/insurance_transaction.rb +351 -0
  121. data/lib/akoya/models/insurance_transaction_details.rb +87 -0
  122. data/lib/akoya/models/interest_rate_type.rb +36 -0
  123. data/lib/akoya/models/inv401_k_source.rb +56 -0
  124. data/lib/akoya/models/inv401_k_source_open_order_entity.rb +57 -0
  125. data/lib/akoya/models/inv401_k_surce.rb +56 -0
  126. data/lib/akoya/models/investment_account.rb +411 -0
  127. data/lib/akoya/models/investment_account_annuity_balance.rb +87 -0
  128. data/lib/akoya/models/investment_account_deposit_balance.rb +87 -0
  129. data/lib/akoya/models/investment_account_info.rb +87 -0
  130. data/lib/akoya/models/investment_account_insurance_balance.rb +87 -0
  131. data/lib/akoya/models/investment_account_loan_balance.rb +86 -0
  132. data/lib/akoya/models/investment_account_loc_balance.rb +86 -0
  133. data/lib/akoya/models/investment_balance_details.rb +87 -0
  134. data/lib/akoya/models/investment_balance_list.rb +148 -0
  135. data/lib/akoya/models/investment_balances.rb +525 -0
  136. data/lib/akoya/models/investment_details.rb +88 -0
  137. data/lib/akoya/models/investment_loan_entity.rb +271 -0
  138. data/lib/akoya/models/investment_transaction.rb +783 -0
  139. data/lib/akoya/models/investment_transaction_details.rb +87 -0
  140. data/lib/akoya/models/investments.rb +88 -0
  141. data/lib/akoya/models/line_item.rb +156 -0
  142. data/lib/akoya/models/line_of_credit_balances.rb +601 -0
  143. data/lib/akoya/models/links.rb +95 -0
  144. data/lib/akoya/models/loan_account.rb +417 -0
  145. data/lib/akoya/models/loan_account_info.rb +86 -0
  146. data/lib/akoya/models/loan_balance_details.rb +86 -0
  147. data/lib/akoya/models/loan_balances.rb +556 -0
  148. data/lib/akoya/models/loan_payment_frequency.rb +68 -0
  149. data/lib/akoya/models/loan_transaction.rb +360 -0
  150. data/lib/akoya/models/loan_transaction_details.rb +87 -0
  151. data/lib/akoya/models/loc_account_info.rb +86 -0
  152. data/lib/akoya/models/loc_balance_details.rb +86 -0
  153. data/lib/akoya/models/loc_transaction.rb +372 -0
  154. data/lib/akoya/models/loc_transaction_details.rb +86 -0
  155. data/lib/akoya/models/mnext.rb +84 -0
  156. data/lib/akoya/models/mode.rb +36 -0
  157. data/lib/akoya/models/mutual_fund_security.rb +99 -0
  158. data/lib/akoya/models/mutual_fund_security_entity.rb +150 -0
  159. data/lib/akoya/models/mutual_fund_type.rb +40 -0
  160. data/lib/akoya/models/obtain_tokens.rb +99 -0
  161. data/lib/akoya/models/open_order_entity.rb +228 -0
  162. data/lib/akoya/models/option_security.rb +125 -0
  163. data/lib/akoya/models/option_security_entity.rb +127 -0
  164. data/lib/akoya/models/option_type.rb +36 -0
  165. data/lib/akoya/models/order_duration.rb +40 -0
  166. data/lib/akoya/models/order_type.rb +60 -0
  167. data/lib/akoya/models/other_security_entity.rb +77 -0
  168. data/lib/akoya/models/paginated_array.rb +75 -0
  169. data/lib/akoya/models/payment_details.rb +142 -0
  170. data/lib/akoya/models/payment_frequency.rb +56 -0
  171. data/lib/akoya/models/payment_frequency_annuity_account.rb +44 -0
  172. data/lib/akoya/models/payment_frequency_annuity_balances.rb +44 -0
  173. data/lib/akoya/models/payment_network_supported_by_account.rb +129 -0
  174. data/lib/akoya/models/pension_source_entity.rb +143 -0
  175. data/lib/akoya/models/period_certain_guarantee.rb +48 -0
  176. data/lib/akoya/models/policy_premium_term.rb +36 -0
  177. data/lib/akoya/models/position_type.rb +36 -0
  178. data/lib/akoya/models/postion_type.rb +36 -0
  179. data/lib/akoya/models/prev.rb +84 -0
  180. data/lib/akoya/models/refresh_tokens.rb +103 -0
  181. data/lib/akoya/models/secured.rb +36 -0
  182. data/lib/akoya/models/security_id_type.rb +52 -0
  183. data/lib/akoya/models/security_id_type_investment_transaction.rb +52 -0
  184. data/lib/akoya/models/security_type.rb +56 -0
  185. data/lib/akoya/models/statement_entity.rb +136 -0
  186. data/lib/akoya/models/status.rb +56 -0
  187. data/lib/akoya/models/status_deposit_transaction.rb +44 -0
  188. data/lib/akoya/models/status_insurance_transaction.rb +44 -0
  189. data/lib/akoya/models/status_investment_transaction.rb +44 -0
  190. data/lib/akoya/models/status_loan_transaction.rb +44 -0
  191. data/lib/akoya/models/status_loc_transaction.rb +44 -0
  192. data/lib/akoya/models/status_statement_entity.rb +40 -0
  193. data/lib/akoya/models/status_transaction.rb +44 -0
  194. data/lib/akoya/models/stock_security_entity.rb +137 -0
  195. data/lib/akoya/models/stock_type.rb +56 -0
  196. data/lib/akoya/models/sub_account.rb +44 -0
  197. data/lib/akoya/models/sub_account_fund.rb +44 -0
  198. data/lib/akoya/models/sub_account_sec.rb +44 -0
  199. data/lib/akoya/models/sweep_security_entity.rb +118 -0
  200. data/lib/akoya/models/tax_lot.rb +137 -0
  201. data/lib/akoya/models/tax_lot_an_investment_holding.rb +139 -0
  202. data/lib/akoya/models/telephone.rb +95 -0
  203. data/lib/akoya/models/telephone_number.rb +95 -0
  204. data/lib/akoya/models/token_example_response.rb +101 -0
  205. data/lib/akoya/models/transaction.rb +328 -0
  206. data/lib/akoya/models/transaction_reason.rb +41 -0
  207. data/lib/akoya/models/transaction_type.rb +84 -0
  208. data/lib/akoya/models/transaction_type_insurance_transaction.rb +44 -0
  209. data/lib/akoya/models/transaction_type_investment_transaction.rb +192 -0
  210. data/lib/akoya/models/transaction_type_loan_transaction.rb +44 -0
  211. data/lib/akoya/models/transaction_type_loc_transaction.rb +84 -0
  212. data/lib/akoya/models/transactions_entity.rb +98 -0
  213. data/lib/akoya/models/transfer_action.rb +36 -0
  214. data/lib/akoya/models/type.rb +44 -0
  215. data/lib/akoya/models/type_hateoas_link.rb +52 -0
  216. data/lib/akoya/models/type_telephone_number.rb +44 -0
  217. data/lib/akoya/models/unit_type.rb +36 -0
  218. data/lib/akoya/models/unit_type_open_order_entity.rb +36 -0
  219. data/lib/akoya/models/us_bank_investment.rb +535 -0
  220. data/lib/akoya/models/us_bank_investment_details.rb +75 -0
  221. data/lib/akoya/models/us_bank_investment_holdings.rb +403 -0
  222. data/lib/akoya/models/vesting.rb +135 -0
  223. data/lib/akoya/models/vesting_entity.rb +185 -0
  224. data/lib/akoya/models/x_akoya_interaction_type.rb +36 -0
  225. data/lib/akoya/utilities/date_time_helper.rb +11 -0
  226. data/lib/akoya/utilities/file_wrapper.rb +28 -0
  227. data/lib/akoya/utilities/union_type_lookup.rb +91 -0
  228. data/lib/akoya.rb +250 -0
  229. metadata +312 -0
@@ -0,0 +1,210 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module Akoya
8
+ # CitiBankInvestmentHoldings Model.
9
+ class CitiBankInvestmentHoldings < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # TODO: Write general description for this method
14
+ # @return [Array[AssetClassCitiBankInvestmentHoldings]]
15
+ attr_accessor :asset_classes
16
+
17
+ # TODO: Write general description for this method
18
+ # @return [Float]
19
+ attr_accessor :change_in_price
20
+
21
+ # TODO: Write general description for this method
22
+ # @return [CurrencyCitiBankInvestmentHoldings]
23
+ attr_accessor :currency
24
+
25
+ # TODO: Write general description for this method
26
+ # @return [Float]
27
+ attr_accessor :current_unit_price
28
+
29
+ # TODO: Write general description for this method
30
+ # @return [DateTime]
31
+ attr_accessor :current_unit_price_date
32
+
33
+ # TODO: Write general description for this method
34
+ # @return [String]
35
+ attr_accessor :holding_name
36
+
37
+ # TODO: Write general description for this method
38
+ # @return [String]
39
+ attr_accessor :holding_type
40
+
41
+ # TODO: Write general description for this method
42
+ # @return [Float]
43
+ attr_accessor :market_value
44
+
45
+ # TODO: Write general description for this method
46
+ # @return [String]
47
+ attr_accessor :security_id
48
+
49
+ # TODO: Write general description for this method
50
+ # @return [String]
51
+ attr_accessor :symbol
52
+
53
+ # TODO: Write general description for this method
54
+ # @return [Float]
55
+ attr_accessor :units
56
+
57
+ # A mapping from model property names to API property names.
58
+ def self.names
59
+ @_hash = {} if @_hash.nil?
60
+ @_hash['asset_classes'] = 'assetClasses'
61
+ @_hash['change_in_price'] = 'changeInPrice'
62
+ @_hash['currency'] = 'currency'
63
+ @_hash['current_unit_price'] = 'currentUnitPrice'
64
+ @_hash['current_unit_price_date'] = 'currentUnitPriceDate'
65
+ @_hash['holding_name'] = 'holdingName'
66
+ @_hash['holding_type'] = 'holdingType'
67
+ @_hash['market_value'] = 'marketValue'
68
+ @_hash['security_id'] = 'securityId'
69
+ @_hash['symbol'] = 'symbol'
70
+ @_hash['units'] = 'units'
71
+ @_hash
72
+ end
73
+
74
+ # An array for optional fields
75
+ def self.optionals
76
+ %w[
77
+ asset_classes
78
+ change_in_price
79
+ currency
80
+ current_unit_price
81
+ current_unit_price_date
82
+ holding_name
83
+ holding_type
84
+ market_value
85
+ security_id
86
+ symbol
87
+ units
88
+ ]
89
+ end
90
+
91
+ # An array for nullable fields
92
+ def self.nullables
93
+ []
94
+ end
95
+
96
+ def initialize(asset_classes: SKIP, change_in_price: SKIP, currency: SKIP,
97
+ current_unit_price: SKIP, current_unit_price_date: SKIP,
98
+ holding_name: SKIP, holding_type: SKIP, market_value: SKIP,
99
+ security_id: SKIP, symbol: SKIP, units: SKIP,
100
+ additional_properties: nil)
101
+ # Add additional model properties to the instance
102
+ additional_properties = {} if additional_properties.nil?
103
+
104
+ @asset_classes = asset_classes unless asset_classes == SKIP
105
+ @change_in_price = change_in_price unless change_in_price == SKIP
106
+ @currency = currency unless currency == SKIP
107
+ @current_unit_price = current_unit_price unless current_unit_price == SKIP
108
+ @current_unit_price_date = current_unit_price_date unless current_unit_price_date == SKIP
109
+ @holding_name = holding_name unless holding_name == SKIP
110
+ @holding_type = holding_type unless holding_type == SKIP
111
+ @market_value = market_value unless market_value == SKIP
112
+ @security_id = security_id unless security_id == SKIP
113
+ @symbol = symbol unless symbol == SKIP
114
+ @units = units unless units == SKIP
115
+ @additional_properties = additional_properties
116
+ end
117
+
118
+ # Creates an instance of the object from a hash.
119
+ def self.from_hash(hash)
120
+ return nil unless hash
121
+
122
+ # Extract variables from the hash.
123
+ # Parameter is an array, so we need to iterate through it
124
+ asset_classes = nil
125
+ unless hash['assetClasses'].nil?
126
+ asset_classes = []
127
+ hash['assetClasses'].each do |structure|
128
+ asset_classes << (AssetClassCitiBankInvestmentHoldings.from_hash(structure) if structure)
129
+ end
130
+ end
131
+
132
+ asset_classes = SKIP unless hash.key?('assetClasses')
133
+ change_in_price =
134
+ hash.key?('changeInPrice') ? hash['changeInPrice'] : SKIP
135
+ currency = CurrencyCitiBankInvestmentHoldings.from_hash(hash['currency']) if
136
+ hash['currency']
137
+ current_unit_price =
138
+ hash.key?('currentUnitPrice') ? hash['currentUnitPrice'] : SKIP
139
+ current_unit_price_date = if hash.key?('currentUnitPriceDate')
140
+ (DateTimeHelper.from_rfc3339(hash['currentUnitPriceDate']) if hash['currentUnitPriceDate'])
141
+ else
142
+ SKIP
143
+ end
144
+ holding_name = hash.key?('holdingName') ? hash['holdingName'] : SKIP
145
+ holding_type = hash.key?('holdingType') ? hash['holdingType'] : SKIP
146
+ market_value = hash.key?('marketValue') ? hash['marketValue'] : SKIP
147
+ security_id = hash.key?('securityId') ? hash['securityId'] : SKIP
148
+ symbol = hash.key?('symbol') ? hash['symbol'] : SKIP
149
+ units = hash.key?('units') ? hash['units'] : SKIP
150
+
151
+ # Create a new hash for additional properties, removing known properties.
152
+ new_hash = hash.reject { |k, _| names.value?(k) }
153
+
154
+ additional_properties = APIHelper.get_additional_properties(
155
+ new_hash, proc { |value| value }
156
+ )
157
+
158
+ # Create object from extracted values.
159
+ CitiBankInvestmentHoldings.new(asset_classes: asset_classes,
160
+ change_in_price: change_in_price,
161
+ currency: currency,
162
+ current_unit_price: current_unit_price,
163
+ current_unit_price_date: current_unit_price_date,
164
+ holding_name: holding_name,
165
+ holding_type: holding_type,
166
+ market_value: market_value,
167
+ security_id: security_id,
168
+ symbol: symbol,
169
+ units: units,
170
+ additional_properties: additional_properties)
171
+ end
172
+
173
+ def to_custom_current_unit_price_date
174
+ DateTimeHelper.to_rfc3339(current_unit_price_date)
175
+ end
176
+
177
+ # Validates an instance of the object from a given value.
178
+ # @param [CitiBankInvestmentHoldings | Hash] The value against the validation is performed.
179
+ def self.validate(value)
180
+ return true if value.instance_of? self
181
+
182
+ return false unless value.instance_of? Hash
183
+
184
+ true
185
+ end
186
+
187
+ # Provides a human-readable string representation of the object.
188
+ def to_s
189
+ class_name = self.class.name.split('::').last
190
+ "<#{class_name} asset_classes: #{@asset_classes}, change_in_price: #{@change_in_price},"\
191
+ " currency: #{@currency}, current_unit_price: #{@current_unit_price},"\
192
+ " current_unit_price_date: #{@current_unit_price_date}, holding_name: #{@holding_name},"\
193
+ " holding_type: #{@holding_type}, market_value: #{@market_value}, security_id:"\
194
+ " #{@security_id}, symbol: #{@symbol}, units: #{@units}, additional_properties:"\
195
+ " #{@additional_properties}>"
196
+ end
197
+
198
+ # Provides a debugging-friendly string with detailed object information.
199
+ def inspect
200
+ class_name = self.class.name.split('::').last
201
+ "<#{class_name} asset_classes: #{@asset_classes.inspect}, change_in_price:"\
202
+ " #{@change_in_price.inspect}, currency: #{@currency.inspect}, current_unit_price:"\
203
+ " #{@current_unit_price.inspect}, current_unit_price_date:"\
204
+ " #{@current_unit_price_date.inspect}, holding_name: #{@holding_name.inspect}, holding_type:"\
205
+ " #{@holding_type.inspect}, market_value: #{@market_value.inspect}, security_id:"\
206
+ " #{@security_id.inspect}, symbol: #{@symbol.inspect}, units: #{@units.inspect},"\
207
+ " additional_properties: #{@additional_properties}>"
208
+ end
209
+ end
210
+ end
@@ -0,0 +1,56 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # CompoundingPeriod.
8
+ class CompoundingPeriod
9
+ COMPOUNDING_PERIOD = [
10
+ # TODO: Write general description for DAILY
11
+ DAILY = 'DAILY'.freeze,
12
+
13
+ # TODO: Write general description for WEEKLY
14
+ WEEKLY = 'WEEKLY'.freeze,
15
+
16
+ # TODO: Write general description for BIWEEKLY
17
+ BIWEEKLY = 'BIWEEKLY'.freeze,
18
+
19
+ # TODO: Write general description for SEMIMONTHLY
20
+ SEMIMONTHLY = 'SEMIMONTHLY'.freeze,
21
+
22
+ # TODO: Write general description for MONTHLY
23
+ MONTHLY = 'MONTHLY'.freeze,
24
+
25
+ # TODO: Write general description for SEMIANNUALLY
26
+ SEMIANNUALLY = 'SEMIANNUALLY'.freeze,
27
+
28
+ # TODO: Write general description for ANNUALLY
29
+ ANNUALLY = 'ANNUALLY'.freeze
30
+ ].freeze
31
+
32
+ def self.validate(value)
33
+ return false if value.nil?
34
+
35
+ true
36
+ end
37
+
38
+ def self.from_value(value, default_value = DAILY)
39
+ return default_value if value.nil?
40
+
41
+ str = value.to_s.strip
42
+
43
+ case str.downcase
44
+ when 'daily' then DAILY
45
+ when 'weekly' then WEEKLY
46
+ when 'biweekly' then BIWEEKLY
47
+ when 'semimonthly' then SEMIMONTHLY
48
+ when 'monthly' then MONTHLY
49
+ when 'semiannually' then SEMIANNUALLY
50
+ when 'annually' then ANNUALLY
51
+ else
52
+ default_value
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,266 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # Describes how new contributions are distributed among the available
8
+ # securities.
9
+ class ContributionEntity < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # Unique identifier of security
14
+ # @return [String]
15
+ attr_accessor :security_id
16
+
17
+ # Security identifier type
18
+ # @return [SecurityIdType]
19
+ attr_accessor :security_id_type
20
+
21
+ # Employer contribution match percentage
22
+ # @return [Float]
23
+ attr_accessor :employer_match_percentage
24
+
25
+ # Employer contribution match amount
26
+ # @return [Float]
27
+ attr_accessor :employer_match_amount
28
+
29
+ # Employee pre‐tax contribution amount
30
+ # @return [Float]
31
+ attr_accessor :employee_pre_tax_amount
32
+
33
+ # Employee pre‐tax contribution percentage
34
+ # @return [Float]
35
+ attr_accessor :employee_pre_tax_percentage
36
+
37
+ # Employee after tax contribution amount
38
+ # @return [Float]
39
+ attr_accessor :employee_after_tax_amount
40
+
41
+ # Employee after tax contribution percentage
42
+ # @return [Float]
43
+ attr_accessor :employee_after_tax_percentage
44
+
45
+ # Employee defer pre‐tax contribution match amount
46
+ # @return [Float]
47
+ attr_accessor :employee_defer_pre_tax_amount
48
+
49
+ # Employee defer pre‐tax contribution match percentage
50
+ # @return [Float]
51
+ attr_accessor :employee_defer_pre_tax_percentage
52
+
53
+ # Employee total year to date contribution
54
+ # @return [Float]
55
+ attr_accessor :employee_year_to_date
56
+
57
+ # Employer total year to date contribution
58
+ # @return [Float]
59
+ attr_accessor :employer_year_to_date
60
+
61
+ # Rollover contribution percentage
62
+ # @return [Float]
63
+ attr_accessor :rollover_contribution_percentage
64
+
65
+ # Rollover contribution Amount
66
+ # @return [Float]
67
+ attr_accessor :rollover_contribution_amount
68
+
69
+ # A mapping from model property names to API property names.
70
+ def self.names
71
+ @_hash = {} if @_hash.nil?
72
+ @_hash['security_id'] = 'securityId'
73
+ @_hash['security_id_type'] = 'securityIdType'
74
+ @_hash['employer_match_percentage'] = 'employerMatchPercentage'
75
+ @_hash['employer_match_amount'] = 'employerMatchAmount'
76
+ @_hash['employee_pre_tax_amount'] = 'employeePreTaxAmount'
77
+ @_hash['employee_pre_tax_percentage'] = 'employeePreTaxPercentage'
78
+ @_hash['employee_after_tax_amount'] = 'employeeAfterTaxAmount'
79
+ @_hash['employee_after_tax_percentage'] = 'employeeAfterTaxPercentage'
80
+ @_hash['employee_defer_pre_tax_amount'] = 'employeeDeferPreTaxAmount'
81
+ @_hash['employee_defer_pre_tax_percentage'] =
82
+ 'employeeDeferPreTaxPercentage'
83
+ @_hash['employee_year_to_date'] = 'employeeYearToDate'
84
+ @_hash['employer_year_to_date'] = 'employerYearToDate'
85
+ @_hash['rollover_contribution_percentage'] =
86
+ 'rolloverContributionPercentage'
87
+ @_hash['rollover_contribution_amount'] = 'rolloverContributionAmount'
88
+ @_hash
89
+ end
90
+
91
+ # An array for optional fields
92
+ def self.optionals
93
+ %w[
94
+ security_id
95
+ security_id_type
96
+ employer_match_percentage
97
+ employer_match_amount
98
+ employee_pre_tax_amount
99
+ employee_pre_tax_percentage
100
+ employee_after_tax_amount
101
+ employee_after_tax_percentage
102
+ employee_defer_pre_tax_amount
103
+ employee_defer_pre_tax_percentage
104
+ employee_year_to_date
105
+ employer_year_to_date
106
+ rollover_contribution_percentage
107
+ rollover_contribution_amount
108
+ ]
109
+ end
110
+
111
+ # An array for nullable fields
112
+ def self.nullables
113
+ []
114
+ end
115
+
116
+ def initialize(security_id: SKIP, security_id_type: SKIP,
117
+ employer_match_percentage: SKIP, employer_match_amount: SKIP,
118
+ employee_pre_tax_amount: SKIP,
119
+ employee_pre_tax_percentage: SKIP,
120
+ employee_after_tax_amount: SKIP,
121
+ employee_after_tax_percentage: SKIP,
122
+ employee_defer_pre_tax_amount: SKIP,
123
+ employee_defer_pre_tax_percentage: SKIP,
124
+ employee_year_to_date: SKIP, employer_year_to_date: SKIP,
125
+ rollover_contribution_percentage: SKIP,
126
+ rollover_contribution_amount: SKIP,
127
+ additional_properties: nil)
128
+ # Add additional model properties to the instance
129
+ additional_properties = {} if additional_properties.nil?
130
+
131
+ @security_id = security_id unless security_id == SKIP
132
+ @security_id_type = security_id_type unless security_id_type == SKIP
133
+ unless employer_match_percentage == SKIP
134
+ @employer_match_percentage =
135
+ employer_match_percentage
136
+ end
137
+ @employer_match_amount = employer_match_amount unless employer_match_amount == SKIP
138
+ @employee_pre_tax_amount = employee_pre_tax_amount unless employee_pre_tax_amount == SKIP
139
+ unless employee_pre_tax_percentage == SKIP
140
+ @employee_pre_tax_percentage =
141
+ employee_pre_tax_percentage
142
+ end
143
+ unless employee_after_tax_amount == SKIP
144
+ @employee_after_tax_amount =
145
+ employee_after_tax_amount
146
+ end
147
+ unless employee_after_tax_percentage == SKIP
148
+ @employee_after_tax_percentage =
149
+ employee_after_tax_percentage
150
+ end
151
+ unless employee_defer_pre_tax_amount == SKIP
152
+ @employee_defer_pre_tax_amount =
153
+ employee_defer_pre_tax_amount
154
+ end
155
+ unless employee_defer_pre_tax_percentage == SKIP
156
+ @employee_defer_pre_tax_percentage =
157
+ employee_defer_pre_tax_percentage
158
+ end
159
+ @employee_year_to_date = employee_year_to_date unless employee_year_to_date == SKIP
160
+ @employer_year_to_date = employer_year_to_date unless employer_year_to_date == SKIP
161
+ unless rollover_contribution_percentage == SKIP
162
+ @rollover_contribution_percentage =
163
+ rollover_contribution_percentage
164
+ end
165
+ unless rollover_contribution_amount == SKIP
166
+ @rollover_contribution_amount =
167
+ rollover_contribution_amount
168
+ end
169
+ @additional_properties = additional_properties
170
+ end
171
+
172
+ # Creates an instance of the object from a hash.
173
+ def self.from_hash(hash)
174
+ return nil unless hash
175
+
176
+ # Extract variables from the hash.
177
+ security_id = hash.key?('securityId') ? hash['securityId'] : SKIP
178
+ security_id_type =
179
+ hash.key?('securityIdType') ? hash['securityIdType'] : SKIP
180
+ employer_match_percentage =
181
+ hash.key?('employerMatchPercentage') ? hash['employerMatchPercentage'] : SKIP
182
+ employer_match_amount =
183
+ hash.key?('employerMatchAmount') ? hash['employerMatchAmount'] : SKIP
184
+ employee_pre_tax_amount =
185
+ hash.key?('employeePreTaxAmount') ? hash['employeePreTaxAmount'] : SKIP
186
+ employee_pre_tax_percentage =
187
+ hash.key?('employeePreTaxPercentage') ? hash['employeePreTaxPercentage'] : SKIP
188
+ employee_after_tax_amount =
189
+ hash.key?('employeeAfterTaxAmount') ? hash['employeeAfterTaxAmount'] : SKIP
190
+ employee_after_tax_percentage =
191
+ hash.key?('employeeAfterTaxPercentage') ? hash['employeeAfterTaxPercentage'] : SKIP
192
+ employee_defer_pre_tax_amount =
193
+ hash.key?('employeeDeferPreTaxAmount') ? hash['employeeDeferPreTaxAmount'] : SKIP
194
+ employee_defer_pre_tax_percentage =
195
+ hash.key?('employeeDeferPreTaxPercentage') ? hash['employeeDeferPreTaxPercentage'] : SKIP
196
+ employee_year_to_date =
197
+ hash.key?('employeeYearToDate') ? hash['employeeYearToDate'] : SKIP
198
+ employer_year_to_date =
199
+ hash.key?('employerYearToDate') ? hash['employerYearToDate'] : SKIP
200
+ rollover_contribution_percentage =
201
+ hash.key?('rolloverContributionPercentage') ? hash['rolloverContributionPercentage'] : SKIP
202
+ rollover_contribution_amount =
203
+ hash.key?('rolloverContributionAmount') ? hash['rolloverContributionAmount'] : SKIP
204
+
205
+ # Create a new hash for additional properties, removing known properties.
206
+ new_hash = hash.reject { |k, _| names.value?(k) }
207
+
208
+ additional_properties = APIHelper.get_additional_properties(
209
+ new_hash, proc { |value| value }
210
+ )
211
+
212
+ # Create object from extracted values.
213
+ ContributionEntity.new(security_id: security_id,
214
+ security_id_type: security_id_type,
215
+ employer_match_percentage: employer_match_percentage,
216
+ employer_match_amount: employer_match_amount,
217
+ employee_pre_tax_amount: employee_pre_tax_amount,
218
+ employee_pre_tax_percentage: employee_pre_tax_percentage,
219
+ employee_after_tax_amount: employee_after_tax_amount,
220
+ employee_after_tax_percentage: employee_after_tax_percentage,
221
+ employee_defer_pre_tax_amount: employee_defer_pre_tax_amount,
222
+ employee_defer_pre_tax_percentage: employee_defer_pre_tax_percentage,
223
+ employee_year_to_date: employee_year_to_date,
224
+ employer_year_to_date: employer_year_to_date,
225
+ rollover_contribution_percentage: rollover_contribution_percentage,
226
+ rollover_contribution_amount: rollover_contribution_amount,
227
+ additional_properties: additional_properties)
228
+ end
229
+
230
+ # Provides a human-readable string representation of the object.
231
+ def to_s
232
+ class_name = self.class.name.split('::').last
233
+ "<#{class_name} security_id: #{@security_id}, security_id_type: #{@security_id_type},"\
234
+ " employer_match_percentage: #{@employer_match_percentage}, employer_match_amount:"\
235
+ " #{@employer_match_amount}, employee_pre_tax_amount: #{@employee_pre_tax_amount},"\
236
+ " employee_pre_tax_percentage: #{@employee_pre_tax_percentage}, employee_after_tax_amount:"\
237
+ " #{@employee_after_tax_amount}, employee_after_tax_percentage:"\
238
+ " #{@employee_after_tax_percentage}, employee_defer_pre_tax_amount:"\
239
+ " #{@employee_defer_pre_tax_amount}, employee_defer_pre_tax_percentage:"\
240
+ " #{@employee_defer_pre_tax_percentage}, employee_year_to_date: #{@employee_year_to_date},"\
241
+ " employer_year_to_date: #{@employer_year_to_date}, rollover_contribution_percentage:"\
242
+ " #{@rollover_contribution_percentage}, rollover_contribution_amount:"\
243
+ " #{@rollover_contribution_amount}, additional_properties: #{@additional_properties}>"
244
+ end
245
+
246
+ # Provides a debugging-friendly string with detailed object information.
247
+ def inspect
248
+ class_name = self.class.name.split('::').last
249
+ "<#{class_name} security_id: #{@security_id.inspect}, security_id_type:"\
250
+ " #{@security_id_type.inspect}, employer_match_percentage:"\
251
+ " #{@employer_match_percentage.inspect}, employer_match_amount:"\
252
+ " #{@employer_match_amount.inspect}, employee_pre_tax_amount:"\
253
+ " #{@employee_pre_tax_amount.inspect}, employee_pre_tax_percentage:"\
254
+ " #{@employee_pre_tax_percentage.inspect}, employee_after_tax_amount:"\
255
+ " #{@employee_after_tax_amount.inspect}, employee_after_tax_percentage:"\
256
+ " #{@employee_after_tax_percentage.inspect}, employee_defer_pre_tax_amount:"\
257
+ " #{@employee_defer_pre_tax_amount.inspect}, employee_defer_pre_tax_percentage:"\
258
+ " #{@employee_defer_pre_tax_percentage.inspect}, employee_year_to_date:"\
259
+ " #{@employee_year_to_date.inspect}, employer_year_to_date:"\
260
+ " #{@employer_year_to_date.inspect}, rollover_contribution_percentage:"\
261
+ " #{@rollover_contribution_percentage.inspect}, rollover_contribution_amount:"\
262
+ " #{@rollover_contribution_amount.inspect}, additional_properties:"\
263
+ " #{@additional_properties}>"
264
+ end
265
+ end
266
+ end
@@ -0,0 +1,48 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # When coupons mature
8
+ class CouponMatureFrequency
9
+ COUPON_MATURE_FREQUENCY = [
10
+ # TODO: Write general description for MONTHLY
11
+ MONTHLY = 'MONTHLY'.freeze,
12
+
13
+ # TODO: Write general description for QUARTERLY
14
+ QUARTERLY = 'QUARTERLY'.freeze,
15
+
16
+ # TODO: Write general description for SEMIANNUAL
17
+ SEMIANNUAL = 'SEMIANNUAL'.freeze,
18
+
19
+ # TODO: Write general description for ANNUAL
20
+ ANNUAL = 'ANNUAL'.freeze,
21
+
22
+ # TODO: Write general description for OTHER
23
+ OTHER = 'OTHER'.freeze
24
+ ].freeze
25
+
26
+ def self.validate(value)
27
+ return false if value.nil?
28
+
29
+ true
30
+ end
31
+
32
+ def self.from_value(value, default_value = MONTHLY)
33
+ return default_value if value.nil?
34
+
35
+ str = value.to_s.strip
36
+
37
+ case str.downcase
38
+ when 'monthly' then MONTHLY
39
+ when 'quarterly' then QUARTERLY
40
+ when 'semiannual' then SEMIANNUAL
41
+ when 'annual' then ANNUAL
42
+ when 'other' then OTHER
43
+ else
44
+ default_value
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,108 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # Currency Model.
8
+ class Currency < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # ISO 4217 currency code
13
+ # @return [String]
14
+ attr_accessor :currency_code
15
+
16
+ # ISO 4217 currency code
17
+ # @return [Float]
18
+ attr_accessor :currency_rate
19
+
20
+ # ISO 4217 currency code
21
+ # @return [String]
22
+ attr_accessor :original_currency_code
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['currency_code'] = 'currencyCode'
28
+ @_hash['currency_rate'] = 'currencyRate'
29
+ @_hash['original_currency_code'] = 'originalCurrencyCode'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ currency_code
37
+ currency_rate
38
+ original_currency_code
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(currency_code: SKIP, currency_rate: SKIP,
48
+ original_currency_code: SKIP, additional_properties: nil)
49
+ # Add additional model properties to the instance
50
+ additional_properties = {} if additional_properties.nil?
51
+
52
+ @currency_code = currency_code unless currency_code == SKIP
53
+ @currency_rate = currency_rate unless currency_rate == SKIP
54
+ @original_currency_code = original_currency_code unless original_currency_code == SKIP
55
+ @additional_properties = additional_properties
56
+ end
57
+
58
+ # Creates an instance of the object from a hash.
59
+ def self.from_hash(hash)
60
+ return nil unless hash
61
+
62
+ # Extract variables from the hash.
63
+ currency_code = hash.key?('currencyCode') ? hash['currencyCode'] : SKIP
64
+ currency_rate = hash.key?('currencyRate') ? hash['currencyRate'] : SKIP
65
+ original_currency_code =
66
+ hash.key?('originalCurrencyCode') ? hash['originalCurrencyCode'] : SKIP
67
+
68
+ # Create a new hash for additional properties, removing known properties.
69
+ new_hash = hash.reject { |k, _| names.value?(k) }
70
+
71
+ additional_properties = APIHelper.get_additional_properties(
72
+ new_hash, proc { |value| value }
73
+ )
74
+
75
+ # Create object from extracted values.
76
+ Currency.new(currency_code: currency_code,
77
+ currency_rate: currency_rate,
78
+ original_currency_code: original_currency_code,
79
+ additional_properties: additional_properties)
80
+ end
81
+
82
+ # Validates an instance of the object from a given value.
83
+ # @param [Currency | Hash] The value against the validation is performed.
84
+ def self.validate(value)
85
+ return true if value.instance_of? self
86
+
87
+ return false unless value.instance_of? Hash
88
+
89
+ true
90
+ end
91
+
92
+ # Provides a human-readable string representation of the object.
93
+ def to_s
94
+ class_name = self.class.name.split('::').last
95
+ "<#{class_name} currency_code: #{@currency_code}, currency_rate: #{@currency_rate},"\
96
+ " original_currency_code: #{@original_currency_code}, additional_properties:"\
97
+ " #{@additional_properties}>"
98
+ end
99
+
100
+ # Provides a debugging-friendly string with detailed object information.
101
+ def inspect
102
+ class_name = self.class.name.split('::').last
103
+ "<#{class_name} currency_code: #{@currency_code.inspect}, currency_rate:"\
104
+ " #{@currency_rate.inspect}, original_currency_code: #{@original_currency_code.inspect},"\
105
+ " additional_properties: #{@additional_properties}>"
106
+ end
107
+ end
108
+ end