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,216 @@
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
+ # Information about the debt security specific to the type of security
9
+ class DebtSecurityEntity < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # Par value amount
14
+ # @return [Float]
15
+ attr_accessor :par_value
16
+
17
+ # Debt type
18
+ # @return [DebtType]
19
+ attr_accessor :debt_type
20
+
21
+ # Classification of debt
22
+ # @return [DebtClass]
23
+ attr_accessor :debt_class
24
+
25
+ # Bond coupon rate for next closest call date
26
+ # @return [Float]
27
+ attr_accessor :coupon_rate
28
+
29
+ # Maturity date for next coupon
30
+ # @return [DateTime]
31
+ attr_accessor :coupon_date
32
+
33
+ # When coupons mature
34
+ # @return [CouponMatureFrequency]
35
+ attr_accessor :coupon_mature_frequency
36
+
37
+ # Bond call price
38
+ # @return [Float]
39
+ attr_accessor :call_price
40
+
41
+ # Yield to next call
42
+ # @return [Float]
43
+ attr_accessor :yield_to_call
44
+
45
+ # Next call date
46
+ # @return [DateTime]
47
+ attr_accessor :call_date
48
+
49
+ # Type of next call
50
+ # @return [CallType]
51
+ attr_accessor :call_type
52
+
53
+ # Yield to maturity
54
+ # @return [Float]
55
+ attr_accessor :yield_to_maturity
56
+
57
+ # Bond Maturity date
58
+ # @return [DateTime]
59
+ attr_accessor :bond_maturity_date
60
+
61
+ # A mapping from model property names to API property names.
62
+ def self.names
63
+ @_hash = {} if @_hash.nil?
64
+ @_hash['par_value'] = 'parValue'
65
+ @_hash['debt_type'] = 'debtType'
66
+ @_hash['debt_class'] = 'debtClass'
67
+ @_hash['coupon_rate'] = 'couponRate'
68
+ @_hash['coupon_date'] = 'couponDate'
69
+ @_hash['coupon_mature_frequency'] = 'couponMatureFrequency'
70
+ @_hash['call_price'] = 'callPrice'
71
+ @_hash['yield_to_call'] = 'yieldToCall'
72
+ @_hash['call_date'] = 'callDate'
73
+ @_hash['call_type'] = 'callType'
74
+ @_hash['yield_to_maturity'] = 'yieldToMaturity'
75
+ @_hash['bond_maturity_date'] = 'bondMaturityDate'
76
+ @_hash
77
+ end
78
+
79
+ # An array for optional fields
80
+ def self.optionals
81
+ %w[
82
+ par_value
83
+ debt_type
84
+ debt_class
85
+ coupon_rate
86
+ coupon_date
87
+ coupon_mature_frequency
88
+ call_price
89
+ yield_to_call
90
+ call_date
91
+ call_type
92
+ yield_to_maturity
93
+ bond_maturity_date
94
+ ]
95
+ end
96
+
97
+ # An array for nullable fields
98
+ def self.nullables
99
+ []
100
+ end
101
+
102
+ def initialize(par_value: SKIP, debt_type: SKIP, debt_class: SKIP,
103
+ coupon_rate: SKIP, coupon_date: SKIP,
104
+ coupon_mature_frequency: SKIP, call_price: SKIP,
105
+ yield_to_call: SKIP, call_date: SKIP, call_type: SKIP,
106
+ yield_to_maturity: SKIP, bond_maturity_date: SKIP,
107
+ additional_properties: nil)
108
+ # Add additional model properties to the instance
109
+ additional_properties = {} if additional_properties.nil?
110
+
111
+ @par_value = par_value unless par_value == SKIP
112
+ @debt_type = debt_type unless debt_type == SKIP
113
+ @debt_class = debt_class unless debt_class == SKIP
114
+ @coupon_rate = coupon_rate unless coupon_rate == SKIP
115
+ @coupon_date = coupon_date unless coupon_date == SKIP
116
+ @coupon_mature_frequency = coupon_mature_frequency unless coupon_mature_frequency == SKIP
117
+ @call_price = call_price unless call_price == SKIP
118
+ @yield_to_call = yield_to_call unless yield_to_call == SKIP
119
+ @call_date = call_date unless call_date == SKIP
120
+ @call_type = call_type unless call_type == SKIP
121
+ @yield_to_maturity = yield_to_maturity unless yield_to_maturity == SKIP
122
+ @bond_maturity_date = bond_maturity_date unless bond_maturity_date == SKIP
123
+ @additional_properties = additional_properties
124
+ end
125
+
126
+ # Creates an instance of the object from a hash.
127
+ def self.from_hash(hash)
128
+ return nil unless hash
129
+
130
+ # Extract variables from the hash.
131
+ par_value = hash.key?('parValue') ? hash['parValue'] : SKIP
132
+ debt_type = hash.key?('debtType') ? hash['debtType'] : SKIP
133
+ debt_class = hash.key?('debtClass') ? hash['debtClass'] : SKIP
134
+ coupon_rate = hash.key?('couponRate') ? hash['couponRate'] : SKIP
135
+ coupon_date = if hash.key?('couponDate')
136
+ (DateTimeHelper.from_rfc3339(hash['couponDate']) if hash['couponDate'])
137
+ else
138
+ SKIP
139
+ end
140
+ coupon_mature_frequency =
141
+ hash.key?('couponMatureFrequency') ? hash['couponMatureFrequency'] : SKIP
142
+ call_price = hash.key?('callPrice') ? hash['callPrice'] : SKIP
143
+ yield_to_call = hash.key?('yieldToCall') ? hash['yieldToCall'] : SKIP
144
+ call_date = if hash.key?('callDate')
145
+ (DateTimeHelper.from_rfc3339(hash['callDate']) if hash['callDate'])
146
+ else
147
+ SKIP
148
+ end
149
+ call_type = hash.key?('callType') ? hash['callType'] : SKIP
150
+ yield_to_maturity =
151
+ hash.key?('yieldToMaturity') ? hash['yieldToMaturity'] : SKIP
152
+ bond_maturity_date = if hash.key?('bondMaturityDate')
153
+ (DateTimeHelper.from_rfc3339(hash['bondMaturityDate']) if hash['bondMaturityDate'])
154
+ else
155
+ SKIP
156
+ end
157
+
158
+ # Create a new hash for additional properties, removing known properties.
159
+ new_hash = hash.reject { |k, _| names.value?(k) }
160
+
161
+ additional_properties = APIHelper.get_additional_properties(
162
+ new_hash, proc { |value| value }
163
+ )
164
+
165
+ # Create object from extracted values.
166
+ DebtSecurityEntity.new(par_value: par_value,
167
+ debt_type: debt_type,
168
+ debt_class: debt_class,
169
+ coupon_rate: coupon_rate,
170
+ coupon_date: coupon_date,
171
+ coupon_mature_frequency: coupon_mature_frequency,
172
+ call_price: call_price,
173
+ yield_to_call: yield_to_call,
174
+ call_date: call_date,
175
+ call_type: call_type,
176
+ yield_to_maturity: yield_to_maturity,
177
+ bond_maturity_date: bond_maturity_date,
178
+ additional_properties: additional_properties)
179
+ end
180
+
181
+ def to_custom_coupon_date
182
+ DateTimeHelper.to_rfc3339(coupon_date)
183
+ end
184
+
185
+ def to_custom_call_date
186
+ DateTimeHelper.to_rfc3339(call_date)
187
+ end
188
+
189
+ def to_custom_bond_maturity_date
190
+ DateTimeHelper.to_rfc3339(bond_maturity_date)
191
+ end
192
+
193
+ # Provides a human-readable string representation of the object.
194
+ def to_s
195
+ class_name = self.class.name.split('::').last
196
+ "<#{class_name} par_value: #{@par_value}, debt_type: #{@debt_type}, debt_class:"\
197
+ " #{@debt_class}, coupon_rate: #{@coupon_rate}, coupon_date: #{@coupon_date},"\
198
+ " coupon_mature_frequency: #{@coupon_mature_frequency}, call_price: #{@call_price},"\
199
+ " yield_to_call: #{@yield_to_call}, call_date: #{@call_date}, call_type: #{@call_type},"\
200
+ " yield_to_maturity: #{@yield_to_maturity}, bond_maturity_date: #{@bond_maturity_date},"\
201
+ " additional_properties: #{@additional_properties}>"
202
+ end
203
+
204
+ # Provides a debugging-friendly string with detailed object information.
205
+ def inspect
206
+ class_name = self.class.name.split('::').last
207
+ "<#{class_name} par_value: #{@par_value.inspect}, debt_type: #{@debt_type.inspect},"\
208
+ " debt_class: #{@debt_class.inspect}, coupon_rate: #{@coupon_rate.inspect}, coupon_date:"\
209
+ " #{@coupon_date.inspect}, coupon_mature_frequency: #{@coupon_mature_frequency.inspect},"\
210
+ " call_price: #{@call_price.inspect}, yield_to_call: #{@yield_to_call.inspect}, call_date:"\
211
+ " #{@call_date.inspect}, call_type: #{@call_type.inspect}, yield_to_maturity:"\
212
+ " #{@yield_to_maturity.inspect}, bond_maturity_date: #{@bond_maturity_date.inspect},"\
213
+ " additional_properties: #{@additional_properties}>"
214
+ end
215
+ end
216
+ end
@@ -0,0 +1,36 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # Debt type
8
+ class DebtType
9
+ DEBT_TYPE = [
10
+ # TODO: Write general description for ASSET
11
+ ASSET = 'ASSET'.freeze,
12
+
13
+ # TODO: Write general description for COUPON
14
+ COUPON = 'COUPON'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ true
21
+ end
22
+
23
+ def self.from_value(value, default_value = ASSET)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'asset' then ASSET
30
+ when 'coupon' then COUPON
31
+ else
32
+ default_value
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,153 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # DeliveryAddress Model.
8
+ class DeliveryAddress < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Address line 1. May contain full address if not separated
13
+ # @return [String]
14
+ attr_accessor :line1
15
+
16
+ # Address line 2
17
+ # @return [String]
18
+ attr_accessor :line2
19
+
20
+ # Address line 3
21
+ # @return [String]
22
+ attr_accessor :line3
23
+
24
+ # City
25
+ # @return [String]
26
+ attr_accessor :city
27
+
28
+ # State or province. Deprecated, will remove in FDX V6.0
29
+ # @return [String]
30
+ attr_accessor :state
31
+
32
+ # State or province or territory. Replaces "state" property
33
+ # @return [String]
34
+ attr_accessor :region
35
+
36
+ # Postal code
37
+ # @return [String]
38
+ attr_accessor :postal_code
39
+
40
+ # ISO 3166 Country Code
41
+ # @return [String]
42
+ attr_accessor :country
43
+
44
+ # Type of address location. One of BUSINESS, HOME, MAILING
45
+ # @return [String]
46
+ attr_accessor :type
47
+
48
+ # A mapping from model property names to API property names.
49
+ def self.names
50
+ @_hash = {} if @_hash.nil?
51
+ @_hash['line1'] = 'line1'
52
+ @_hash['line2'] = 'line2'
53
+ @_hash['line3'] = 'line3'
54
+ @_hash['city'] = 'city'
55
+ @_hash['state'] = 'state'
56
+ @_hash['region'] = 'region'
57
+ @_hash['postal_code'] = 'postalCode'
58
+ @_hash['country'] = 'country'
59
+ @_hash['type'] = 'type'
60
+ @_hash
61
+ end
62
+
63
+ # An array for optional fields
64
+ def self.optionals
65
+ %w[
66
+ line1
67
+ line2
68
+ line3
69
+ city
70
+ state
71
+ region
72
+ postal_code
73
+ country
74
+ type
75
+ ]
76
+ end
77
+
78
+ # An array for nullable fields
79
+ def self.nullables
80
+ []
81
+ end
82
+
83
+ def initialize(line1: SKIP, line2: SKIP, line3: SKIP, city: SKIP,
84
+ state: SKIP, region: SKIP, postal_code: SKIP, country: SKIP,
85
+ type: SKIP, additional_properties: nil)
86
+ # Add additional model properties to the instance
87
+ additional_properties = {} if additional_properties.nil?
88
+
89
+ @line1 = line1 unless line1 == SKIP
90
+ @line2 = line2 unless line2 == SKIP
91
+ @line3 = line3 unless line3 == SKIP
92
+ @city = city unless city == SKIP
93
+ @state = state unless state == SKIP
94
+ @region = region unless region == SKIP
95
+ @postal_code = postal_code unless postal_code == SKIP
96
+ @country = country unless country == SKIP
97
+ @type = type unless type == SKIP
98
+ @additional_properties = additional_properties
99
+ end
100
+
101
+ # Creates an instance of the object from a hash.
102
+ def self.from_hash(hash)
103
+ return nil unless hash
104
+
105
+ # Extract variables from the hash.
106
+ line1 = hash.key?('line1') ? hash['line1'] : SKIP
107
+ line2 = hash.key?('line2') ? hash['line2'] : SKIP
108
+ line3 = hash.key?('line3') ? hash['line3'] : SKIP
109
+ city = hash.key?('city') ? hash['city'] : SKIP
110
+ state = hash.key?('state') ? hash['state'] : SKIP
111
+ region = hash.key?('region') ? hash['region'] : SKIP
112
+ postal_code = hash.key?('postalCode') ? hash['postalCode'] : SKIP
113
+ country = hash.key?('country') ? hash['country'] : SKIP
114
+ type = hash.key?('type') ? hash['type'] : SKIP
115
+
116
+ # Create a new hash for additional properties, removing known properties.
117
+ new_hash = hash.reject { |k, _| names.value?(k) }
118
+
119
+ additional_properties = APIHelper.get_additional_properties(
120
+ new_hash, proc { |value| value }
121
+ )
122
+
123
+ # Create object from extracted values.
124
+ DeliveryAddress.new(line1: line1,
125
+ line2: line2,
126
+ line3: line3,
127
+ city: city,
128
+ state: state,
129
+ region: region,
130
+ postal_code: postal_code,
131
+ country: country,
132
+ type: type,
133
+ additional_properties: additional_properties)
134
+ end
135
+
136
+ # Provides a human-readable string representation of the object.
137
+ def to_s
138
+ class_name = self.class.name.split('::').last
139
+ "<#{class_name} line1: #{@line1}, line2: #{@line2}, line3: #{@line3}, city: #{@city},"\
140
+ " state: #{@state}, region: #{@region}, postal_code: #{@postal_code}, country: #{@country},"\
141
+ " type: #{@type}, additional_properties: #{@additional_properties}>"
142
+ end
143
+
144
+ # Provides a debugging-friendly string with detailed object information.
145
+ def inspect
146
+ class_name = self.class.name.split('::').last
147
+ "<#{class_name} line1: #{@line1.inspect}, line2: #{@line2.inspect}, line3:"\
148
+ " #{@line3.inspect}, city: #{@city.inspect}, state: #{@state.inspect}, region:"\
149
+ " #{@region.inspect}, postal_code: #{@postal_code.inspect}, country: #{@country.inspect},"\
150
+ " type: #{@type.inspect}, additional_properties: #{@additional_properties}>"
151
+ end
152
+ end
153
+ end