proton_api 1.8.0 → 1.9.0

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 (304) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +35 -205
  3. data/lib/proton_api.rb +10 -2
  4. data/lib/proton_api/api/annuities_api.rb +2 -2
  5. data/lib/proton_api/api/business_financial_management_api.rb +2 -2
  6. data/lib/proton_api/api/cards_api.rb +56 -2
  7. data/lib/proton_api/api/financial_health_api.rb +2 -2
  8. data/lib/proton_api/api/financial_planning_api.rb +2 -2
  9. data/lib/proton_api/api/goals_api.rb +2 -2
  10. data/lib/proton_api/api/life_insurance_api.rb +2 -2
  11. data/lib/proton_api/api/personal_financial_management_api.rb +56 -2
  12. data/lib/proton_api/api/portfolio_construction_api.rb +2 -2
  13. data/lib/proton_api/api/portfolio_management_api.rb +2 -2
  14. data/lib/proton_api/api/risk_scoring_api.rb +2 -2
  15. data/lib/proton_api/api/simulations_api.rb +2 -2
  16. data/lib/proton_api/api/util_api.rb +185 -0
  17. data/lib/proton_api/api_client.rb +6 -6
  18. data/lib/proton_api/api_error.rb +2 -2
  19. data/lib/proton_api/configuration.rb +3 -3
  20. data/lib/proton_api/models/accumulation_goal_deposit_config.rb +25 -25
  21. data/lib/proton_api/models/annuity_calculator_accumulation_horizon_request.rb +138 -141
  22. data/lib/proton_api/models/annuity_calculator_annuity_amount_request.rb +129 -132
  23. data/lib/proton_api/models/annuity_calculator_decumulation_horizon_request.rb +138 -141
  24. data/lib/proton_api/models/annuity_calculator_deposit_amount_request.rb +138 -141
  25. data/lib/proton_api/models/annuity_calculator_initial_balance_request.rb +138 -141
  26. data/lib/proton_api/models/annuity_deposit_schedule.rb +33 -36
  27. data/lib/proton_api/models/answer.rb +186 -0
  28. data/lib/proton_api/models/backtest_request.rb +56 -59
  29. data/lib/proton_api/models/beneficiary_bequest_config.rb +32 -35
  30. data/lib/proton_api/models/budget_aggregation_account.rb +7 -10
  31. data/lib/proton_api/models/budget_calculator_request.rb +85 -66
  32. data/lib/proton_api/models/budget_component.rb +25 -28
  33. data/lib/proton_api/models/budget_details.rb +75 -78
  34. data/lib/proton_api/models/business_financial_health_check_request.rb +172 -166
  35. data/lib/proton_api/models/business_invoice_analysis_request.rb +79 -73
  36. data/lib/proton_api/models/calculator_deposit_schedule.rb +22 -25
  37. data/lib/proton_api/models/calculator_deposit_schedule1.rb +33 -36
  38. data/lib/proton_api/models/card_analysis_request.rb +372 -0
  39. data/lib/proton_api/models/card_limit_check_request.rb +42 -14
  40. data/lib/proton_api/models/card_transaction_authorization_request.rb +143 -80
  41. data/lib/proton_api/models/cash_analysis_request.rb +82 -63
  42. data/lib/proton_api/models/cash_flow_analysis_request.rb +104 -76
  43. data/lib/proton_api/models/children_education_config.rb +7 -10
  44. data/lib/proton_api/models/customer_analysis_request.rb +60 -54
  45. data/lib/proton_api/models/decision_tree_result_request.rb +236 -0
  46. data/lib/proton_api/models/decumulation_goal_deposit_config.rb +28 -31
  47. data/lib/proton_api/models/dimensional_risk_score_request.rb +52 -55
  48. data/lib/proton_api/models/diversification_score_request.rb +59 -62
  49. data/lib/proton_api/models/education_calculator_annual_cost_request.rb +143 -146
  50. data/lib/proton_api/models/education_calculator_deposit_amount_request.rb +170 -173
  51. data/lib/proton_api/models/education_calculator_percent_covered_request.rb +136 -139
  52. data/lib/proton_api/models/education_config.rb +44 -47
  53. data/lib/proton_api/models/emergency_fund_calculator_request.rb +182 -185
  54. data/lib/proton_api/models/event_study_request.rb +64 -67
  55. data/lib/proton_api/models/fee_analysis_request.rb +42 -34
  56. data/lib/proton_api/models/financial_health_check_request.rb +109 -112
  57. data/lib/proton_api/models/financial_picture_request.rb +53 -52
  58. data/lib/proton_api/models/financial_statement_analysis_request.rb +140 -134
  59. data/lib/proton_api/models/goal_accumulation_allocation_request.rb +271 -274
  60. data/lib/proton_api/models/goal_accumulation_recommendation_request.rb +218 -221
  61. data/lib/proton_api/models/goal_accumulation_status_request.rb +218 -221
  62. data/lib/proton_api/models/goal_config.rb +35 -38
  63. data/lib/proton_api/models/goal_decumulation_allocation_request.rb +293 -296
  64. data/lib/proton_api/models/goal_decumulation_recommendation_request.rb +242 -245
  65. data/lib/proton_api/models/goal_decumulation_status_request.rb +242 -245
  66. data/lib/proton_api/models/goal_withdrawal_config.rb +82 -85
  67. data/lib/proton_api/models/guaranteed_rate_benefit.rb +51 -54
  68. data/lib/proton_api/models/income_config.rb +37 -40
  69. data/lib/proton_api/models/life_insurance_needs_calculator_request.rb +152 -155
  70. data/lib/proton_api/models/location.rb +183 -0
  71. data/lib/proton_api/models/monte_carlo_request.rb +157 -160
  72. data/lib/proton_api/models/mortgage_calculator_down_payment_request.rb +46 -49
  73. data/lib/proton_api/models/mortgage_calculator_home_price_request.rb +46 -49
  74. data/lib/proton_api/models/mortgage_calculator_periodic_payment_request.rb +71 -74
  75. data/lib/proton_api/models/mvo_request.rb +88 -91
  76. data/lib/proton_api/models/opt_config.rb +54 -57
  77. data/lib/proton_api/models/opt_config1.rb +29 -32
  78. data/lib/proton_api/models/order_rebalance_request.rb +398 -0
  79. data/lib/proton_api/models/performance_calculator_request.rb +687 -0
  80. data/lib/proton_api/models/periods.rb +7 -10
  81. data/lib/proton_api/models/portfolio_optimization_score_request.rb +68 -71
  82. data/lib/proton_api/models/portfolio_what_if_request.rb +71 -74
  83. data/lib/proton_api/models/purchase_calculator_amount_request.rb +112 -115
  84. data/lib/proton_api/models/purchase_calculator_deposit_amount_request.rb +136 -139
  85. data/lib/proton_api/models/purchase_calculator_horizon_request.rb +100 -103
  86. data/lib/proton_api/models/ratio_targets.rb +79 -82
  87. data/lib/proton_api/models/ratio_targets1.rb +38 -41
  88. data/lib/proton_api/models/rebalancing_signal_request.rb +26 -29
  89. data/lib/proton_api/models/recommendation_config.rb +104 -107
  90. data/lib/proton_api/models/recommendation_config1.rb +100 -103
  91. data/lib/proton_api/models/recurring_transaction_analysis_request.rb +106 -76
  92. data/lib/proton_api/models/retirement_calculator_deposit_amount_request.rb +148 -151
  93. data/lib/proton_api/models/retirement_calculator_expenses_request.rb +119 -122
  94. data/lib/proton_api/models/retirement_calculator_percent_covered_request.rb +132 -135
  95. data/lib/proton_api/models/risk_allocation_request.rb +53 -56
  96. data/lib/proton_api/models/risk_score_request.rb +37 -40
  97. data/lib/proton_api/models/savings_calculator_request.rb +100 -103
  98. data/lib/proton_api/models/savings_deposit_schedule.rb +22 -25
  99. data/lib/proton_api/models/scenario_analysis_request.rb +81 -84
  100. data/lib/proton_api/models/sensitivity_analysis_request.rb +77 -80
  101. data/lib/proton_api/models/sensitivity_factor.rb +58 -61
  102. data/lib/proton_api/models/settings.rb +38 -41
  103. data/lib/proton_api/models/spending_analysis_request.rb +505 -0
  104. data/lib/proton_api/models/variable_annuity_request.rb +284 -287
  105. data/lib/proton_api/models/w_config.rb +77 -80
  106. data/lib/proton_api/models/w_config1.rb +66 -69
  107. data/lib/proton_api/version.rb +3 -3
  108. data/proton_api.gemspec +2 -2
  109. data/spec/api/annuities_api_spec.rb +2 -2
  110. data/spec/api/business_financial_management_api_spec.rb +2 -2
  111. data/spec/api/cards_api_spec.rb +14 -2
  112. data/spec/api/financial_health_api_spec.rb +2 -2
  113. data/spec/api/financial_planning_api_spec.rb +2 -2
  114. data/spec/api/goals_api_spec.rb +2 -2
  115. data/spec/api/life_insurance_api_spec.rb +2 -2
  116. data/spec/api/personal_financial_management_api_spec.rb +14 -2
  117. data/spec/api/portfolio_construction_api_spec.rb +2 -2
  118. data/spec/api/portfolio_management_api_spec.rb +2 -2
  119. data/spec/api/risk_scoring_api_spec.rb +2 -2
  120. data/spec/api/simulations_api_spec.rb +2 -2
  121. data/spec/api/util_api_spec.rb +71 -0
  122. data/spec/api_client_spec.rb +2 -2
  123. data/spec/configuration_spec.rb +5 -5
  124. data/spec/models/accumulation_goal_deposit_config_spec.rb +10 -10
  125. data/spec/models/annuity_calculator_accumulation_horizon_request_spec.rb +17 -17
  126. data/spec/models/annuity_calculator_annuity_amount_request_spec.rb +17 -17
  127. data/spec/models/annuity_calculator_decumulation_horizon_request_spec.rb +17 -17
  128. data/spec/models/annuity_calculator_deposit_amount_request_spec.rb +17 -17
  129. data/spec/models/annuity_calculator_initial_balance_request_spec.rb +17 -17
  130. data/spec/models/annuity_deposit_schedule_spec.rb +4 -4
  131. data/spec/models/answer_spec.rb +41 -0
  132. data/spec/models/backtest_request_spec.rb +10 -10
  133. data/spec/models/beneficiary_bequest_config_spec.rb +4 -4
  134. data/spec/models/budget_aggregation_account_spec.rb +2 -2
  135. data/spec/models/budget_calculator_request_spec.rb +25 -13
  136. data/spec/models/budget_component_spec.rb +4 -4
  137. data/spec/models/budget_details_spec.rb +15 -15
  138. data/spec/models/business_financial_health_check_request_spec.rb +34 -28
  139. data/spec/models/business_invoice_analysis_request_spec.rb +18 -12
  140. data/spec/models/calculator_deposit_schedule1_spec.rb +4 -4
  141. data/spec/models/calculator_deposit_schedule_spec.rb +8 -8
  142. data/spec/models/card_analysis_request_spec.rb +129 -0
  143. data/spec/models/card_limit_check_request_spec.rb +20 -2
  144. data/spec/models/card_transaction_authorization_request_spec.rb +57 -15
  145. data/spec/models/cash_analysis_request_spec.rb +25 -13
  146. data/spec/models/cash_flow_analysis_request_spec.rb +34 -16
  147. data/spec/models/children_education_config_spec.rb +2 -2
  148. data/spec/models/customer_analysis_request_spec.rb +15 -9
  149. data/spec/models/decision_tree_result_request_spec.rb +51 -0
  150. data/spec/models/decumulation_goal_deposit_config_spec.rb +10 -10
  151. data/spec/models/dimensional_risk_score_request_spec.rb +8 -8
  152. data/spec/models/diversification_score_request_spec.rb +14 -14
  153. data/spec/models/education_calculator_annual_cost_request_spec.rb +13 -13
  154. data/spec/models/education_calculator_deposit_amount_request_spec.rb +13 -13
  155. data/spec/models/education_calculator_percent_covered_request_spec.rb +12 -12
  156. data/spec/models/education_config_spec.rb +5 -5
  157. data/spec/models/emergency_fund_calculator_request_spec.rb +23 -23
  158. data/spec/models/event_study_request_spec.rb +17 -17
  159. data/spec/models/fee_analysis_request_spec.rb +12 -6
  160. data/spec/models/financial_health_check_request_spec.rb +12 -12
  161. data/spec/models/financial_picture_request_spec.rb +15 -9
  162. data/spec/models/financial_statement_analysis_request_spec.rb +39 -33
  163. data/spec/models/goal_accumulation_allocation_request_spec.rb +48 -48
  164. data/spec/models/goal_accumulation_recommendation_request_spec.rb +34 -34
  165. data/spec/models/goal_accumulation_status_request_spec.rb +34 -34
  166. data/spec/models/goal_config_spec.rb +4 -4
  167. data/spec/models/goal_decumulation_allocation_request_spec.rb +51 -51
  168. data/spec/models/goal_decumulation_recommendation_request_spec.rb +35 -35
  169. data/spec/models/goal_decumulation_status_request_spec.rb +35 -35
  170. data/spec/models/goal_withdrawal_config_spec.rb +20 -20
  171. data/spec/models/guaranteed_rate_benefit_spec.rb +5 -5
  172. data/spec/models/income_config_spec.rb +4 -4
  173. data/spec/models/life_insurance_needs_calculator_request_spec.rb +16 -16
  174. data/spec/models/location_spec.rb +41 -0
  175. data/spec/models/monte_carlo_request_spec.rb +31 -31
  176. data/spec/models/mortgage_calculator_down_payment_request_spec.rb +6 -6
  177. data/spec/models/mortgage_calculator_home_price_request_spec.rb +6 -6
  178. data/spec/models/mortgage_calculator_periodic_payment_request_spec.rb +6 -6
  179. data/spec/models/mvo_request_spec.rb +23 -23
  180. data/spec/models/opt_config1_spec.rb +10 -10
  181. data/spec/models/opt_config_spec.rb +13 -13
  182. data/spec/models/order_rebalance_request_spec.rb +123 -0
  183. data/spec/models/performance_calculator_request_spec.rb +233 -0
  184. data/spec/models/periods_spec.rb +2 -2
  185. data/spec/models/portfolio_optimization_score_request_spec.rb +16 -16
  186. data/spec/models/portfolio_what_if_request_spec.rb +16 -16
  187. data/spec/models/purchase_calculator_amount_request_spec.rb +14 -14
  188. data/spec/models/purchase_calculator_deposit_amount_request_spec.rb +16 -16
  189. data/spec/models/purchase_calculator_horizon_request_spec.rb +10 -10
  190. data/spec/models/ratio_targets1_spec.rb +4 -4
  191. data/spec/models/ratio_targets_spec.rb +8 -8
  192. data/spec/models/rebalancing_signal_request_spec.rb +6 -6
  193. data/spec/models/recommendation_config1_spec.rb +9 -9
  194. data/spec/models/recommendation_config_spec.rb +9 -9
  195. data/spec/models/recurring_transaction_analysis_request_spec.rb +33 -15
  196. data/spec/models/retirement_calculator_deposit_amount_request_spec.rb +13 -13
  197. data/spec/models/retirement_calculator_expenses_request_spec.rb +12 -12
  198. data/spec/models/retirement_calculator_percent_covered_request_spec.rb +12 -12
  199. data/spec/models/risk_allocation_request_spec.rb +15 -15
  200. data/spec/models/risk_score_request_spec.rb +8 -8
  201. data/spec/models/savings_calculator_request_spec.rb +16 -16
  202. data/spec/models/savings_deposit_schedule_spec.rb +8 -8
  203. data/spec/models/scenario_analysis_request_spec.rb +19 -19
  204. data/spec/models/sensitivity_analysis_request_spec.rb +23 -23
  205. data/spec/models/sensitivity_factor_spec.rb +6 -6
  206. data/spec/models/settings_spec.rb +13 -13
  207. data/spec/models/spending_analysis_request_spec.rb +187 -0
  208. data/spec/models/variable_annuity_request_spec.rb +40 -40
  209. data/spec/models/w_config1_spec.rb +6 -6
  210. data/spec/models/w_config_spec.rb +7 -7
  211. data/spec/spec_helper.rb +2 -2
  212. metadata +26 -94
  213. data/docs/AccumulationGoalDepositConfig.md +0 -14
  214. data/docs/AnnuitiesApi.md +0 -344
  215. data/docs/AnnuityCalculatorAccumulationHorizonRequest.md +0 -19
  216. data/docs/AnnuityCalculatorAnnuityAmountRequest.md +0 -19
  217. data/docs/AnnuityCalculatorDecumulationHorizonRequest.md +0 -19
  218. data/docs/AnnuityCalculatorDepositAmountRequest.md +0 -19
  219. data/docs/AnnuityCalculatorInitialBalanceRequest.md +0 -19
  220. data/docs/AnnuityDepositSchedule.md +0 -10
  221. data/docs/BacktestRequest.md +0 -17
  222. data/docs/BeneficiaryBequestConfig.md +0 -10
  223. data/docs/BudgetAggregationAccount.md +0 -8
  224. data/docs/BudgetCalculatorRequest.md +0 -16
  225. data/docs/BudgetComponent.md +0 -10
  226. data/docs/BudgetDetails.md +0 -17
  227. data/docs/BusinessFinancialHealthCheckRequest.md +0 -22
  228. data/docs/BusinessFinancialManagementApi.md +0 -288
  229. data/docs/BusinessInvoiceAnalysisRequest.md +0 -20
  230. data/docs/CalculatorDepositSchedule.md +0 -9
  231. data/docs/CalculatorDepositSchedule1.md +0 -10
  232. data/docs/CardLimitCheckRequest.md +0 -9
  233. data/docs/CardTransactionAuthorizationRequest.md +0 -19
  234. data/docs/CardsApi.md +0 -120
  235. data/docs/CashAnalysisRequest.md +0 -17
  236. data/docs/CashFlowAnalysisRequest.md +0 -20
  237. data/docs/ChildrenEducationConfig.md +0 -9
  238. data/docs/CustomerAnalysisRequest.md +0 -17
  239. data/docs/DecumulationGoalDepositConfig.md +0 -14
  240. data/docs/DimensionalRiskScoreRequest.md +0 -16
  241. data/docs/DiversificationScoreRequest.md +0 -19
  242. data/docs/EducationCalculatorAnnualCostRequest.md +0 -18
  243. data/docs/EducationCalculatorDepositAmountRequest.md +0 -19
  244. data/docs/EducationCalculatorPercentCoveredRequest.md +0 -18
  245. data/docs/EducationConfig.md +0 -10
  246. data/docs/EmergencyFundCalculatorRequest.md +0 -24
  247. data/docs/EventStudyRequest.md +0 -18
  248. data/docs/FeeAnalysisRequest.md +0 -13
  249. data/docs/FinancialHealthApi.md +0 -232
  250. data/docs/FinancialHealthCheckRequest.md +0 -17
  251. data/docs/FinancialPictureRequest.md +0 -16
  252. data/docs/FinancialPlanningApi.md +0 -680
  253. data/docs/FinancialStatementAnalysisRequest.md +0 -22
  254. data/docs/GoalAccumulationAllocationRequest.md +0 -33
  255. data/docs/GoalAccumulationRecommendationRequest.md +0 -28
  256. data/docs/GoalAccumulationStatusRequest.md +0 -28
  257. data/docs/GoalConfig.md +0 -9
  258. data/docs/GoalDecumulationAllocationRequest.md +0 -34
  259. data/docs/GoalDecumulationRecommendationRequest.md +0 -29
  260. data/docs/GoalDecumulationStatusRequest.md +0 -29
  261. data/docs/GoalWithdrawalConfig.md +0 -14
  262. data/docs/GoalsApi.md +0 -344
  263. data/docs/GuaranteedRateBenefit.md +0 -11
  264. data/docs/IncomeConfig.md +0 -10
  265. data/docs/LifeInsuranceApi.md +0 -64
  266. data/docs/LifeInsuranceNeedsCalculatorRequest.md +0 -22
  267. data/docs/MonteCarloRequest.md +0 -29
  268. data/docs/MortgageCalculatorDownPaymentRequest.md +0 -11
  269. data/docs/MortgageCalculatorHomePriceRequest.md +0 -11
  270. data/docs/MortgageCalculatorPeriodicPaymentRequest.md +0 -11
  271. data/docs/MvoRequest.md +0 -18
  272. data/docs/OptConfig.md +0 -14
  273. data/docs/OptConfig1.md +0 -12
  274. data/docs/Periods.md +0 -9
  275. data/docs/PersonalFinancialManagementApi.md +0 -288
  276. data/docs/PortfolioConstructionApi.md +0 -64
  277. data/docs/PortfolioManagementApi.md +0 -64
  278. data/docs/PortfolioOptimizationScoreRequest.md +0 -21
  279. data/docs/PortfolioWhatIfRequest.md +0 -21
  280. data/docs/PurchaseCalculatorAmountRequest.md +0 -16
  281. data/docs/PurchaseCalculatorDepositAmountRequest.md +0 -17
  282. data/docs/PurchaseCalculatorHorizonRequest.md +0 -15
  283. data/docs/RatioTargets.md +0 -13
  284. data/docs/RatioTargets1.md +0 -13
  285. data/docs/RebalancingSignalRequest.md +0 -13
  286. data/docs/RecommendationConfig.md +0 -15
  287. data/docs/RecommendationConfig1.md +0 -14
  288. data/docs/RecurringTransactionAnalysisRequest.md +0 -19
  289. data/docs/RetirementCalculatorDepositAmountRequest.md +0 -20
  290. data/docs/RetirementCalculatorExpensesRequest.md +0 -19
  291. data/docs/RetirementCalculatorPercentCoveredRequest.md +0 -19
  292. data/docs/RiskAllocationRequest.md +0 -14
  293. data/docs/RiskScoreRequest.md +0 -13
  294. data/docs/RiskScoringApi.md +0 -176
  295. data/docs/SavingsCalculatorRequest.md +0 -17
  296. data/docs/SavingsDepositSchedule.md +0 -11
  297. data/docs/ScenarioAnalysisRequest.md +0 -22
  298. data/docs/SensitivityAnalysisRequest.md +0 -22
  299. data/docs/SensitivityFactor.md +0 -11
  300. data/docs/Settings.md +0 -13
  301. data/docs/SimulationsApi.md +0 -400
  302. data/docs/VariableAnnuityRequest.md +0 -34
  303. data/docs/WConfig.md +0 -12
  304. data/docs/WConfig1.md +0 -12
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Financial engineering module of Hydrogen Atom
5
5
 
6
- OpenAPI spec version: 1.8.0
6
+ OpenAPI spec version: 1.9.0
7
7
  Contact: info@hydrogenplatform.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.17
9
+ Swagger Codegen version: 2.4.19
10
10
 
11
11
  =end
12
12
 
@@ -14,29 +14,29 @@ require 'date'
14
14
 
15
15
  module ProtonApi
16
16
  class AnnuityCalculatorAnnuityAmountRequest
17
- attr_accessor :annuity_amount
18
-
19
- attr_accessor :aggregation_account_ids
17
+ attr_accessor :inflation_rate
20
18
 
21
- attr_accessor :tax_rate
19
+ attr_accessor :decumulation_horizon
22
20
 
23
21
  attr_accessor :account_ids
24
22
 
25
- attr_accessor :initial_balance
23
+ attr_accessor :tax_rate
26
24
 
27
- attr_accessor :create_log
25
+ attr_accessor :accumulation_horizon
28
26
 
29
- attr_accessor :inflation_rate
27
+ attr_accessor :annuity_amount
30
28
 
31
- attr_accessor :decumulation_horizon
29
+ attr_accessor :portfolio_return
32
30
 
33
- attr_accessor :accumulation_horizon
31
+ attr_accessor :deposit_schedule
34
32
 
35
33
  attr_accessor :annuity_frequency_interval
36
34
 
37
- attr_accessor :portfolio_return
35
+ attr_accessor :initial_balance
38
36
 
39
- attr_accessor :deposit_schedule
37
+ attr_accessor :aggregation_account_ids
38
+
39
+ attr_accessor :create_log
40
40
 
41
41
  class EnumAttributeValidator
42
42
  attr_reader :datatype
@@ -63,36 +63,36 @@ module ProtonApi
63
63
  # Attribute mapping from ruby-style variable name to JSON key.
64
64
  def self.attribute_map
65
65
  {
66
- :'annuity_amount' => :'annuity_amount',
67
- :'aggregation_account_ids' => :'aggregation_account_ids',
68
- :'tax_rate' => :'tax_rate',
69
- :'account_ids' => :'account_ids',
70
- :'initial_balance' => :'initial_balance',
71
- :'create_log' => :'create_log',
72
66
  :'inflation_rate' => :'inflation_rate',
73
67
  :'decumulation_horizon' => :'decumulation_horizon',
68
+ :'account_ids' => :'account_ids',
69
+ :'tax_rate' => :'tax_rate',
74
70
  :'accumulation_horizon' => :'accumulation_horizon',
75
- :'annuity_frequency_interval' => :'annuity_frequency_interval',
71
+ :'annuity_amount' => :'annuity_amount',
76
72
  :'portfolio_return' => :'portfolio_return',
77
- :'deposit_schedule' => :'deposit_schedule'
73
+ :'deposit_schedule' => :'deposit_schedule',
74
+ :'annuity_frequency_interval' => :'annuity_frequency_interval',
75
+ :'initial_balance' => :'initial_balance',
76
+ :'aggregation_account_ids' => :'aggregation_account_ids',
77
+ :'create_log' => :'create_log'
78
78
  }
79
79
  end
80
80
 
81
81
  # Attribute type mapping.
82
82
  def self.swagger_types
83
83
  {
84
- :'annuity_amount' => :'Float',
85
- :'aggregation_account_ids' => :'Array<String>',
86
- :'tax_rate' => :'Float',
87
- :'account_ids' => :'Array<String>',
88
- :'initial_balance' => :'Float',
89
- :'create_log' => :'BOOLEAN',
90
84
  :'inflation_rate' => :'Float',
91
85
  :'decumulation_horizon' => :'Integer',
86
+ :'account_ids' => :'Array<String>',
87
+ :'tax_rate' => :'Float',
92
88
  :'accumulation_horizon' => :'Integer',
93
- :'annuity_frequency_interval' => :'String',
89
+ :'annuity_amount' => :'Float',
94
90
  :'portfolio_return' => :'Float',
95
- :'deposit_schedule' => :'AnnuityDepositSchedule'
91
+ :'deposit_schedule' => :'AnnuityDepositSchedule',
92
+ :'annuity_frequency_interval' => :'String',
93
+ :'initial_balance' => :'Float',
94
+ :'aggregation_account_ids' => :'Array<String>',
95
+ :'create_log' => :'BOOLEAN'
96
96
  }
97
97
  end
98
98
 
@@ -104,22 +104,14 @@ module ProtonApi
104
104
  # convert string to symbol for hash key
105
105
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
106
106
 
107
- if attributes.has_key?(:'annuity_amount')
108
- self.annuity_amount = attributes[:'annuity_amount']
107
+ if attributes.has_key?(:'inflation_rate')
108
+ self.inflation_rate = attributes[:'inflation_rate']
109
109
  else
110
- self.annuity_amount = 1.0
111
- end
112
-
113
- if attributes.has_key?(:'aggregation_account_ids')
114
- if (value = attributes[:'aggregation_account_ids']).is_a?(Array)
115
- self.aggregation_account_ids = value
116
- end
110
+ self.inflation_rate = 0.0
117
111
  end
118
112
 
119
- if attributes.has_key?(:'tax_rate')
120
- self.tax_rate = attributes[:'tax_rate']
121
- else
122
- self.tax_rate = 0.0
113
+ if attributes.has_key?(:'decumulation_horizon')
114
+ self.decumulation_horizon = attributes[:'decumulation_horizon']
123
115
  end
124
116
 
125
117
  if attributes.has_key?(:'account_ids')
@@ -128,30 +120,28 @@ module ProtonApi
128
120
  end
129
121
  end
130
122
 
131
- if attributes.has_key?(:'initial_balance')
132
- self.initial_balance = attributes[:'initial_balance']
123
+ if attributes.has_key?(:'tax_rate')
124
+ self.tax_rate = attributes[:'tax_rate']
133
125
  else
134
- self.initial_balance = 0.0
126
+ self.tax_rate = 0.0
135
127
  end
136
128
 
137
- if attributes.has_key?(:'create_log')
138
- self.create_log = attributes[:'create_log']
139
- else
140
- self.create_log = false
129
+ if attributes.has_key?(:'accumulation_horizon')
130
+ self.accumulation_horizon = attributes[:'accumulation_horizon']
141
131
  end
142
132
 
143
- if attributes.has_key?(:'inflation_rate')
144
- self.inflation_rate = attributes[:'inflation_rate']
133
+ if attributes.has_key?(:'annuity_amount')
134
+ self.annuity_amount = attributes[:'annuity_amount']
145
135
  else
146
- self.inflation_rate = 0.0
136
+ self.annuity_amount = 1.0
147
137
  end
148
138
 
149
- if attributes.has_key?(:'decumulation_horizon')
150
- self.decumulation_horizon = attributes[:'decumulation_horizon']
139
+ if attributes.has_key?(:'portfolio_return')
140
+ self.portfolio_return = attributes[:'portfolio_return']
151
141
  end
152
142
 
153
- if attributes.has_key?(:'accumulation_horizon')
154
- self.accumulation_horizon = attributes[:'accumulation_horizon']
143
+ if attributes.has_key?(:'deposit_schedule')
144
+ self.deposit_schedule = attributes[:'deposit_schedule']
155
145
  end
156
146
 
157
147
  if attributes.has_key?(:'annuity_frequency_interval')
@@ -160,12 +150,22 @@ module ProtonApi
160
150
  self.annuity_frequency_interval = 'year'
161
151
  end
162
152
 
163
- if attributes.has_key?(:'portfolio_return')
164
- self.portfolio_return = attributes[:'portfolio_return']
153
+ if attributes.has_key?(:'initial_balance')
154
+ self.initial_balance = attributes[:'initial_balance']
155
+ else
156
+ self.initial_balance = 0.0
165
157
  end
166
158
 
167
- if attributes.has_key?(:'deposit_schedule')
168
- self.deposit_schedule = attributes[:'deposit_schedule']
159
+ if attributes.has_key?(:'aggregation_account_ids')
160
+ if (value = attributes[:'aggregation_account_ids']).is_a?(Array)
161
+ self.aggregation_account_ids = value
162
+ end
163
+ end
164
+
165
+ if attributes.has_key?(:'create_log')
166
+ self.create_log = attributes[:'create_log']
167
+ else
168
+ self.create_log = false
169
169
  end
170
170
  end
171
171
 
@@ -173,22 +173,6 @@ module ProtonApi
173
173
  # @return Array for valid properties with the reasons
174
174
  def list_invalid_properties
175
175
  invalid_properties = Array.new
176
- if !@annuity_amount.nil? && @annuity_amount < 0
177
- invalid_properties.push('invalid value for "annuity_amount", must be greater than or equal to 0.')
178
- end
179
-
180
- if !@tax_rate.nil? && @tax_rate > 1
181
- invalid_properties.push('invalid value for "tax_rate", must be smaller than or equal to 1.')
182
- end
183
-
184
- if !@tax_rate.nil? && @tax_rate < 0
185
- invalid_properties.push('invalid value for "tax_rate", must be greater than or equal to 0.')
186
- end
187
-
188
- if !@initial_balance.nil? && @initial_balance < 0
189
- invalid_properties.push('invalid value for "initial_balance", must be greater than or equal to 0.')
190
- end
191
-
192
176
  if !@inflation_rate.nil? && @inflation_rate > 20
193
177
  invalid_properties.push('invalid value for "inflation_rate", must be smaller than or equal to 20.')
194
178
  end
@@ -205,6 +189,14 @@ module ProtonApi
205
189
  invalid_properties.push('invalid value for "decumulation_horizon", must be greater than or equal to 1.')
206
190
  end
207
191
 
192
+ if !@tax_rate.nil? && @tax_rate > 1
193
+ invalid_properties.push('invalid value for "tax_rate", must be smaller than or equal to 1.')
194
+ end
195
+
196
+ if !@tax_rate.nil? && @tax_rate < 0
197
+ invalid_properties.push('invalid value for "tax_rate", must be greater than or equal to 0.')
198
+ end
199
+
208
200
  if @accumulation_horizon.nil?
209
201
  invalid_properties.push('invalid value for "accumulation_horizon", accumulation_horizon cannot be nil.')
210
202
  end
@@ -213,66 +205,40 @@ module ProtonApi
213
205
  invalid_properties.push('invalid value for "accumulation_horizon", must be greater than or equal to 0.')
214
206
  end
215
207
 
208
+ if !@annuity_amount.nil? && @annuity_amount < 0
209
+ invalid_properties.push('invalid value for "annuity_amount", must be greater than or equal to 0.')
210
+ end
211
+
216
212
  if @portfolio_return.nil?
217
213
  invalid_properties.push('invalid value for "portfolio_return", portfolio_return cannot be nil.')
218
214
  end
219
215
 
216
+ if !@initial_balance.nil? && @initial_balance < 0
217
+ invalid_properties.push('invalid value for "initial_balance", must be greater than or equal to 0.')
218
+ end
219
+
220
220
  invalid_properties
221
221
  end
222
222
 
223
223
  # Check to see if the all the properties in the model are valid
224
224
  # @return true if the model is valid
225
225
  def valid?
226
- return false if !@annuity_amount.nil? && @annuity_amount < 0
227
- return false if !@tax_rate.nil? && @tax_rate > 1
228
- return false if !@tax_rate.nil? && @tax_rate < 0
229
- return false if !@initial_balance.nil? && @initial_balance < 0
230
226
  return false if !@inflation_rate.nil? && @inflation_rate > 20
231
227
  return false if !@inflation_rate.nil? && @inflation_rate < -1
232
228
  return false if @decumulation_horizon.nil?
233
229
  return false if @decumulation_horizon < 1
230
+ return false if !@tax_rate.nil? && @tax_rate > 1
231
+ return false if !@tax_rate.nil? && @tax_rate < 0
234
232
  return false if @accumulation_horizon.nil?
235
233
  return false if @accumulation_horizon < 0
234
+ return false if !@annuity_amount.nil? && @annuity_amount < 0
235
+ return false if @portfolio_return.nil?
236
236
  annuity_frequency_interval_validator = EnumAttributeValidator.new('String', ['year', 'quarter', 'month', 'week', 'day'])
237
237
  return false unless annuity_frequency_interval_validator.valid?(@annuity_frequency_interval)
238
- return false if @portfolio_return.nil?
238
+ return false if !@initial_balance.nil? && @initial_balance < 0
239
239
  true
240
240
  end
241
241
 
242
- # Custom attribute writer method with validation
243
- # @param [Object] annuity_amount Value to be assigned
244
- def annuity_amount=(annuity_amount)
245
- if !annuity_amount.nil? && annuity_amount < 0
246
- fail ArgumentError, 'invalid value for "annuity_amount", must be greater than or equal to 0.'
247
- end
248
-
249
- @annuity_amount = annuity_amount
250
- end
251
-
252
- # Custom attribute writer method with validation
253
- # @param [Object] tax_rate Value to be assigned
254
- def tax_rate=(tax_rate)
255
- if !tax_rate.nil? && tax_rate > 1
256
- fail ArgumentError, 'invalid value for "tax_rate", must be smaller than or equal to 1.'
257
- end
258
-
259
- if !tax_rate.nil? && tax_rate < 0
260
- fail ArgumentError, 'invalid value for "tax_rate", must be greater than or equal to 0.'
261
- end
262
-
263
- @tax_rate = tax_rate
264
- end
265
-
266
- # Custom attribute writer method with validation
267
- # @param [Object] initial_balance Value to be assigned
268
- def initial_balance=(initial_balance)
269
- if !initial_balance.nil? && initial_balance < 0
270
- fail ArgumentError, 'invalid value for "initial_balance", must be greater than or equal to 0.'
271
- end
272
-
273
- @initial_balance = initial_balance
274
- end
275
-
276
242
  # Custom attribute writer method with validation
277
243
  # @param [Object] inflation_rate Value to be assigned
278
244
  def inflation_rate=(inflation_rate)
@@ -301,6 +267,20 @@ module ProtonApi
301
267
  @decumulation_horizon = decumulation_horizon
302
268
  end
303
269
 
270
+ # Custom attribute writer method with validation
271
+ # @param [Object] tax_rate Value to be assigned
272
+ def tax_rate=(tax_rate)
273
+ if !tax_rate.nil? && tax_rate > 1
274
+ fail ArgumentError, 'invalid value for "tax_rate", must be smaller than or equal to 1.'
275
+ end
276
+
277
+ if !tax_rate.nil? && tax_rate < 0
278
+ fail ArgumentError, 'invalid value for "tax_rate", must be greater than or equal to 0.'
279
+ end
280
+
281
+ @tax_rate = tax_rate
282
+ end
283
+
304
284
  # Custom attribute writer method with validation
305
285
  # @param [Object] accumulation_horizon Value to be assigned
306
286
  def accumulation_horizon=(accumulation_horizon)
@@ -315,6 +295,16 @@ module ProtonApi
315
295
  @accumulation_horizon = accumulation_horizon
316
296
  end
317
297
 
298
+ # Custom attribute writer method with validation
299
+ # @param [Object] annuity_amount Value to be assigned
300
+ def annuity_amount=(annuity_amount)
301
+ if !annuity_amount.nil? && annuity_amount < 0
302
+ fail ArgumentError, 'invalid value for "annuity_amount", must be greater than or equal to 0.'
303
+ end
304
+
305
+ @annuity_amount = annuity_amount
306
+ end
307
+
318
308
  # Custom attribute writer method checking allowed values (enum).
319
309
  # @param [Object] annuity_frequency_interval Object to be assigned
320
310
  def annuity_frequency_interval=(annuity_frequency_interval)
@@ -325,23 +315,33 @@ module ProtonApi
325
315
  @annuity_frequency_interval = annuity_frequency_interval
326
316
  end
327
317
 
318
+ # Custom attribute writer method with validation
319
+ # @param [Object] initial_balance Value to be assigned
320
+ def initial_balance=(initial_balance)
321
+ if !initial_balance.nil? && initial_balance < 0
322
+ fail ArgumentError, 'invalid value for "initial_balance", must be greater than or equal to 0.'
323
+ end
324
+
325
+ @initial_balance = initial_balance
326
+ end
327
+
328
328
  # Checks equality by comparing each attribute.
329
329
  # @param [Object] Object to be compared
330
330
  def ==(o)
331
331
  return true if self.equal?(o)
332
332
  self.class == o.class &&
333
- annuity_amount == o.annuity_amount &&
334
- aggregation_account_ids == o.aggregation_account_ids &&
335
- tax_rate == o.tax_rate &&
336
- account_ids == o.account_ids &&
337
- initial_balance == o.initial_balance &&
338
- create_log == o.create_log &&
339
333
  inflation_rate == o.inflation_rate &&
340
334
  decumulation_horizon == o.decumulation_horizon &&
335
+ account_ids == o.account_ids &&
336
+ tax_rate == o.tax_rate &&
341
337
  accumulation_horizon == o.accumulation_horizon &&
342
- annuity_frequency_interval == o.annuity_frequency_interval &&
338
+ annuity_amount == o.annuity_amount &&
343
339
  portfolio_return == o.portfolio_return &&
344
- deposit_schedule == o.deposit_schedule
340
+ deposit_schedule == o.deposit_schedule &&
341
+ annuity_frequency_interval == o.annuity_frequency_interval &&
342
+ initial_balance == o.initial_balance &&
343
+ aggregation_account_ids == o.aggregation_account_ids &&
344
+ create_log == o.create_log
345
345
  end
346
346
 
347
347
  # @see the `==` method
@@ -353,7 +353,7 @@ module ProtonApi
353
353
  # Calculates hash code according to all attributes.
354
354
  # @return [Fixnum] Hash code
355
355
  def hash
356
- [annuity_amount, aggregation_account_ids, tax_rate, account_ids, initial_balance, create_log, inflation_rate, decumulation_horizon, accumulation_horizon, annuity_frequency_interval, portfolio_return, deposit_schedule].hash
356
+ [inflation_rate, decumulation_horizon, account_ids, tax_rate, accumulation_horizon, annuity_amount, portfolio_return, deposit_schedule, annuity_frequency_interval, initial_balance, aggregation_account_ids, create_log].hash
357
357
  end
358
358
 
359
359
  # Builds the object from hash
@@ -375,17 +375,16 @@ module ProtonApi
375
375
 
376
376
  self
377
377
  end
378
-
379
- # Deserializes the data based on type
378
+ # Deserializes the data based on type
380
379
  # @param string type Data type
381
380
  # @param string value Value to be deserialized
382
381
  # @return [Object] Deserialized data
383
382
  def _deserialize(type, value)
384
383
  case type.to_sym
385
384
  when :DateTime
386
- DateTime.parse(value)
385
+ value
387
386
  when :Date
388
- Date.parse(value)
387
+ value
389
388
  when :String
390
389
  value.to_s
391
390
  when :Integer
@@ -417,8 +416,7 @@ module ProtonApi
417
416
  temp_model.build_from_hash(value)
418
417
  end
419
418
  end
420
-
421
- # Returns the string representation of the object
419
+ # Returns the string representation of the object
422
420
  # @return [String] String presentation of the object
423
421
  def to_s
424
422
  to_hash.to_s
@@ -441,8 +439,7 @@ module ProtonApi
441
439
  end
442
440
  hash
443
441
  end
444
-
445
- # Outputs non-array value in the form of hash
442
+ # Outputs non-array value in the form of hash
446
443
  # For object, use to_hash. Otherwise, just return the value
447
444
  # @param [Object] value Any valid value
448
445
  # @return [Hash] Returns the value in the form of hash
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Financial engineering module of Hydrogen Atom
5
5
 
6
- OpenAPI spec version: 1.8.0
6
+ OpenAPI spec version: 1.9.0
7
7
  Contact: info@hydrogenplatform.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.17
9
+ Swagger Codegen version: 2.4.19
10
10
 
11
11
  =end
12
12
 
@@ -14,29 +14,29 @@ require 'date'
14
14
 
15
15
  module ProtonApi
16
16
  class AnnuityCalculatorDecumulationHorizonRequest
17
- attr_accessor :annuity_amount
18
-
19
- attr_accessor :aggregation_account_ids
17
+ attr_accessor :inflation_rate
20
18
 
21
- attr_accessor :tax_rate
19
+ attr_accessor :decumulation_horizon
22
20
 
23
21
  attr_accessor :account_ids
24
22
 
25
- attr_accessor :initial_balance
23
+ attr_accessor :tax_rate
26
24
 
27
- attr_accessor :create_log
25
+ attr_accessor :accumulation_horizon
28
26
 
29
- attr_accessor :inflation_rate
27
+ attr_accessor :annuity_amount
30
28
 
31
- attr_accessor :decumulation_horizon
29
+ attr_accessor :portfolio_return
32
30
 
33
- attr_accessor :accumulation_horizon
31
+ attr_accessor :deposit_schedule
34
32
 
35
33
  attr_accessor :annuity_frequency_interval
36
34
 
37
- attr_accessor :portfolio_return
35
+ attr_accessor :initial_balance
38
36
 
39
- attr_accessor :deposit_schedule
37
+ attr_accessor :aggregation_account_ids
38
+
39
+ attr_accessor :create_log
40
40
 
41
41
  class EnumAttributeValidator
42
42
  attr_reader :datatype
@@ -63,36 +63,36 @@ module ProtonApi
63
63
  # Attribute mapping from ruby-style variable name to JSON key.
64
64
  def self.attribute_map
65
65
  {
66
- :'annuity_amount' => :'annuity_amount',
67
- :'aggregation_account_ids' => :'aggregation_account_ids',
68
- :'tax_rate' => :'tax_rate',
69
- :'account_ids' => :'account_ids',
70
- :'initial_balance' => :'initial_balance',
71
- :'create_log' => :'create_log',
72
66
  :'inflation_rate' => :'inflation_rate',
73
67
  :'decumulation_horizon' => :'decumulation_horizon',
68
+ :'account_ids' => :'account_ids',
69
+ :'tax_rate' => :'tax_rate',
74
70
  :'accumulation_horizon' => :'accumulation_horizon',
75
- :'annuity_frequency_interval' => :'annuity_frequency_interval',
71
+ :'annuity_amount' => :'annuity_amount',
76
72
  :'portfolio_return' => :'portfolio_return',
77
- :'deposit_schedule' => :'deposit_schedule'
73
+ :'deposit_schedule' => :'deposit_schedule',
74
+ :'annuity_frequency_interval' => :'annuity_frequency_interval',
75
+ :'initial_balance' => :'initial_balance',
76
+ :'aggregation_account_ids' => :'aggregation_account_ids',
77
+ :'create_log' => :'create_log'
78
78
  }
79
79
  end
80
80
 
81
81
  # Attribute type mapping.
82
82
  def self.swagger_types
83
83
  {
84
- :'annuity_amount' => :'Float',
85
- :'aggregation_account_ids' => :'Array<String>',
86
- :'tax_rate' => :'Float',
87
- :'account_ids' => :'Array<String>',
88
- :'initial_balance' => :'Float',
89
- :'create_log' => :'BOOLEAN',
90
84
  :'inflation_rate' => :'Float',
91
85
  :'decumulation_horizon' => :'Integer',
86
+ :'account_ids' => :'Array<String>',
87
+ :'tax_rate' => :'Float',
92
88
  :'accumulation_horizon' => :'Integer',
93
- :'annuity_frequency_interval' => :'String',
89
+ :'annuity_amount' => :'Float',
94
90
  :'portfolio_return' => :'Float',
95
- :'deposit_schedule' => :'AnnuityDepositSchedule'
91
+ :'deposit_schedule' => :'AnnuityDepositSchedule',
92
+ :'annuity_frequency_interval' => :'String',
93
+ :'initial_balance' => :'Float',
94
+ :'aggregation_account_ids' => :'Array<String>',
95
+ :'create_log' => :'BOOLEAN'
96
96
  }
97
97
  end
98
98
 
@@ -104,20 +104,14 @@ module ProtonApi
104
104
  # convert string to symbol for hash key
105
105
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
106
106
 
107
- if attributes.has_key?(:'annuity_amount')
108
- self.annuity_amount = attributes[:'annuity_amount']
109
- end
110
-
111
- if attributes.has_key?(:'aggregation_account_ids')
112
- if (value = attributes[:'aggregation_account_ids']).is_a?(Array)
113
- self.aggregation_account_ids = value
114
- end
107
+ if attributes.has_key?(:'inflation_rate')
108
+ self.inflation_rate = attributes[:'inflation_rate']
109
+ else
110
+ self.inflation_rate = 0.0
115
111
  end
116
112
 
117
- if attributes.has_key?(:'tax_rate')
118
- self.tax_rate = attributes[:'tax_rate']
119
- else
120
- self.tax_rate = 0.0
113
+ if attributes.has_key?(:'decumulation_horizon')
114
+ self.decumulation_horizon = attributes[:'decumulation_horizon']
121
115
  end
122
116
 
123
117
  if attributes.has_key?(:'account_ids')
@@ -126,30 +120,26 @@ module ProtonApi
126
120
  end
127
121
  end
128
122
 
129
- if attributes.has_key?(:'initial_balance')
130
- self.initial_balance = attributes[:'initial_balance']
123
+ if attributes.has_key?(:'tax_rate')
124
+ self.tax_rate = attributes[:'tax_rate']
131
125
  else
132
- self.initial_balance = 0.0
126
+ self.tax_rate = 0.0
133
127
  end
134
128
 
135
- if attributes.has_key?(:'create_log')
136
- self.create_log = attributes[:'create_log']
137
- else
138
- self.create_log = false
129
+ if attributes.has_key?(:'accumulation_horizon')
130
+ self.accumulation_horizon = attributes[:'accumulation_horizon']
139
131
  end
140
132
 
141
- if attributes.has_key?(:'inflation_rate')
142
- self.inflation_rate = attributes[:'inflation_rate']
143
- else
144
- self.inflation_rate = 0.0
133
+ if attributes.has_key?(:'annuity_amount')
134
+ self.annuity_amount = attributes[:'annuity_amount']
145
135
  end
146
136
 
147
- if attributes.has_key?(:'decumulation_horizon')
148
- self.decumulation_horizon = attributes[:'decumulation_horizon']
137
+ if attributes.has_key?(:'portfolio_return')
138
+ self.portfolio_return = attributes[:'portfolio_return']
149
139
  end
150
140
 
151
- if attributes.has_key?(:'accumulation_horizon')
152
- self.accumulation_horizon = attributes[:'accumulation_horizon']
141
+ if attributes.has_key?(:'deposit_schedule')
142
+ self.deposit_schedule = attributes[:'deposit_schedule']
153
143
  end
154
144
 
155
145
  if attributes.has_key?(:'annuity_frequency_interval')
@@ -158,12 +148,22 @@ module ProtonApi
158
148
  self.annuity_frequency_interval = 'year'
159
149
  end
160
150
 
161
- if attributes.has_key?(:'portfolio_return')
162
- self.portfolio_return = attributes[:'portfolio_return']
151
+ if attributes.has_key?(:'initial_balance')
152
+ self.initial_balance = attributes[:'initial_balance']
153
+ else
154
+ self.initial_balance = 0.0
163
155
  end
164
156
 
165
- if attributes.has_key?(:'deposit_schedule')
166
- self.deposit_schedule = attributes[:'deposit_schedule']
157
+ if attributes.has_key?(:'aggregation_account_ids')
158
+ if (value = attributes[:'aggregation_account_ids']).is_a?(Array)
159
+ self.aggregation_account_ids = value
160
+ end
161
+ end
162
+
163
+ if attributes.has_key?(:'create_log')
164
+ self.create_log = attributes[:'create_log']
165
+ else
166
+ self.create_log = false
167
167
  end
168
168
  end
169
169
 
@@ -171,26 +171,6 @@ module ProtonApi
171
171
  # @return Array for valid properties with the reasons
172
172
  def list_invalid_properties
173
173
  invalid_properties = Array.new
174
- if @annuity_amount.nil?
175
- invalid_properties.push('invalid value for "annuity_amount", annuity_amount cannot be nil.')
176
- end
177
-
178
- if @annuity_amount < 0
179
- invalid_properties.push('invalid value for "annuity_amount", must be greater than or equal to 0.')
180
- end
181
-
182
- if !@tax_rate.nil? && @tax_rate > 1
183
- invalid_properties.push('invalid value for "tax_rate", must be smaller than or equal to 1.')
184
- end
185
-
186
- if !@tax_rate.nil? && @tax_rate < 0
187
- invalid_properties.push('invalid value for "tax_rate", must be greater than or equal to 0.')
188
- end
189
-
190
- if !@initial_balance.nil? && @initial_balance < 0
191
- invalid_properties.push('invalid value for "initial_balance", must be greater than or equal to 0.')
192
- end
193
-
194
174
  if !@inflation_rate.nil? && @inflation_rate > 20
195
175
  invalid_properties.push('invalid value for "inflation_rate", must be smaller than or equal to 20.')
196
176
  end
@@ -203,6 +183,14 @@ module ProtonApi
203
183
  invalid_properties.push('invalid value for "decumulation_horizon", must be greater than or equal to 1.')
204
184
  end
205
185
 
186
+ if !@tax_rate.nil? && @tax_rate > 1
187
+ invalid_properties.push('invalid value for "tax_rate", must be smaller than or equal to 1.')
188
+ end
189
+
190
+ if !@tax_rate.nil? && @tax_rate < 0
191
+ invalid_properties.push('invalid value for "tax_rate", must be greater than or equal to 0.')
192
+ end
193
+
206
194
  if @accumulation_horizon.nil?
207
195
  invalid_properties.push('invalid value for "accumulation_horizon", accumulation_horizon cannot be nil.')
208
196
  end
@@ -211,70 +199,44 @@ module ProtonApi
211
199
  invalid_properties.push('invalid value for "accumulation_horizon", must be greater than or equal to 0.')
212
200
  end
213
201
 
202
+ if @annuity_amount.nil?
203
+ invalid_properties.push('invalid value for "annuity_amount", annuity_amount cannot be nil.')
204
+ end
205
+
206
+ if @annuity_amount < 0
207
+ invalid_properties.push('invalid value for "annuity_amount", must be greater than or equal to 0.')
208
+ end
209
+
214
210
  if @portfolio_return.nil?
215
211
  invalid_properties.push('invalid value for "portfolio_return", portfolio_return cannot be nil.')
216
212
  end
217
213
 
214
+ if !@initial_balance.nil? && @initial_balance < 0
215
+ invalid_properties.push('invalid value for "initial_balance", must be greater than or equal to 0.')
216
+ end
217
+
218
218
  invalid_properties
219
219
  end
220
220
 
221
221
  # Check to see if the all the properties in the model are valid
222
222
  # @return true if the model is valid
223
223
  def valid?
224
- return false if @annuity_amount.nil?
225
- return false if @annuity_amount < 0
226
- return false if !@tax_rate.nil? && @tax_rate > 1
227
- return false if !@tax_rate.nil? && @tax_rate < 0
228
- return false if !@initial_balance.nil? && @initial_balance < 0
229
224
  return false if !@inflation_rate.nil? && @inflation_rate > 20
230
225
  return false if !@inflation_rate.nil? && @inflation_rate < -1
231
226
  return false if !@decumulation_horizon.nil? && @decumulation_horizon < 1
227
+ return false if !@tax_rate.nil? && @tax_rate > 1
228
+ return false if !@tax_rate.nil? && @tax_rate < 0
232
229
  return false if @accumulation_horizon.nil?
233
230
  return false if @accumulation_horizon < 0
231
+ return false if @annuity_amount.nil?
232
+ return false if @annuity_amount < 0
233
+ return false if @portfolio_return.nil?
234
234
  annuity_frequency_interval_validator = EnumAttributeValidator.new('String', ['year', 'quarter', 'month', 'week', 'day'])
235
235
  return false unless annuity_frequency_interval_validator.valid?(@annuity_frequency_interval)
236
- return false if @portfolio_return.nil?
236
+ return false if !@initial_balance.nil? && @initial_balance < 0
237
237
  true
238
238
  end
239
239
 
240
- # Custom attribute writer method with validation
241
- # @param [Object] annuity_amount Value to be assigned
242
- def annuity_amount=(annuity_amount)
243
- if annuity_amount.nil?
244
- fail ArgumentError, 'annuity_amount cannot be nil'
245
- end
246
-
247
- if annuity_amount < 0
248
- fail ArgumentError, 'invalid value for "annuity_amount", must be greater than or equal to 0.'
249
- end
250
-
251
- @annuity_amount = annuity_amount
252
- end
253
-
254
- # Custom attribute writer method with validation
255
- # @param [Object] tax_rate Value to be assigned
256
- def tax_rate=(tax_rate)
257
- if !tax_rate.nil? && tax_rate > 1
258
- fail ArgumentError, 'invalid value for "tax_rate", must be smaller than or equal to 1.'
259
- end
260
-
261
- if !tax_rate.nil? && tax_rate < 0
262
- fail ArgumentError, 'invalid value for "tax_rate", must be greater than or equal to 0.'
263
- end
264
-
265
- @tax_rate = tax_rate
266
- end
267
-
268
- # Custom attribute writer method with validation
269
- # @param [Object] initial_balance Value to be assigned
270
- def initial_balance=(initial_balance)
271
- if !initial_balance.nil? && initial_balance < 0
272
- fail ArgumentError, 'invalid value for "initial_balance", must be greater than or equal to 0.'
273
- end
274
-
275
- @initial_balance = initial_balance
276
- end
277
-
278
240
  # Custom attribute writer method with validation
279
241
  # @param [Object] inflation_rate Value to be assigned
280
242
  def inflation_rate=(inflation_rate)
@@ -299,6 +261,20 @@ module ProtonApi
299
261
  @decumulation_horizon = decumulation_horizon
300
262
  end
301
263
 
264
+ # Custom attribute writer method with validation
265
+ # @param [Object] tax_rate Value to be assigned
266
+ def tax_rate=(tax_rate)
267
+ if !tax_rate.nil? && tax_rate > 1
268
+ fail ArgumentError, 'invalid value for "tax_rate", must be smaller than or equal to 1.'
269
+ end
270
+
271
+ if !tax_rate.nil? && tax_rate < 0
272
+ fail ArgumentError, 'invalid value for "tax_rate", must be greater than or equal to 0.'
273
+ end
274
+
275
+ @tax_rate = tax_rate
276
+ end
277
+
302
278
  # Custom attribute writer method with validation
303
279
  # @param [Object] accumulation_horizon Value to be assigned
304
280
  def accumulation_horizon=(accumulation_horizon)
@@ -313,6 +289,20 @@ module ProtonApi
313
289
  @accumulation_horizon = accumulation_horizon
314
290
  end
315
291
 
292
+ # Custom attribute writer method with validation
293
+ # @param [Object] annuity_amount Value to be assigned
294
+ def annuity_amount=(annuity_amount)
295
+ if annuity_amount.nil?
296
+ fail ArgumentError, 'annuity_amount cannot be nil'
297
+ end
298
+
299
+ if annuity_amount < 0
300
+ fail ArgumentError, 'invalid value for "annuity_amount", must be greater than or equal to 0.'
301
+ end
302
+
303
+ @annuity_amount = annuity_amount
304
+ end
305
+
316
306
  # Custom attribute writer method checking allowed values (enum).
317
307
  # @param [Object] annuity_frequency_interval Object to be assigned
318
308
  def annuity_frequency_interval=(annuity_frequency_interval)
@@ -323,23 +313,33 @@ module ProtonApi
323
313
  @annuity_frequency_interval = annuity_frequency_interval
324
314
  end
325
315
 
316
+ # Custom attribute writer method with validation
317
+ # @param [Object] initial_balance Value to be assigned
318
+ def initial_balance=(initial_balance)
319
+ if !initial_balance.nil? && initial_balance < 0
320
+ fail ArgumentError, 'invalid value for "initial_balance", must be greater than or equal to 0.'
321
+ end
322
+
323
+ @initial_balance = initial_balance
324
+ end
325
+
326
326
  # Checks equality by comparing each attribute.
327
327
  # @param [Object] Object to be compared
328
328
  def ==(o)
329
329
  return true if self.equal?(o)
330
330
  self.class == o.class &&
331
- annuity_amount == o.annuity_amount &&
332
- aggregation_account_ids == o.aggregation_account_ids &&
333
- tax_rate == o.tax_rate &&
334
- account_ids == o.account_ids &&
335
- initial_balance == o.initial_balance &&
336
- create_log == o.create_log &&
337
331
  inflation_rate == o.inflation_rate &&
338
332
  decumulation_horizon == o.decumulation_horizon &&
333
+ account_ids == o.account_ids &&
334
+ tax_rate == o.tax_rate &&
339
335
  accumulation_horizon == o.accumulation_horizon &&
340
- annuity_frequency_interval == o.annuity_frequency_interval &&
336
+ annuity_amount == o.annuity_amount &&
341
337
  portfolio_return == o.portfolio_return &&
342
- deposit_schedule == o.deposit_schedule
338
+ deposit_schedule == o.deposit_schedule &&
339
+ annuity_frequency_interval == o.annuity_frequency_interval &&
340
+ initial_balance == o.initial_balance &&
341
+ aggregation_account_ids == o.aggregation_account_ids &&
342
+ create_log == o.create_log
343
343
  end
344
344
 
345
345
  # @see the `==` method
@@ -351,7 +351,7 @@ module ProtonApi
351
351
  # Calculates hash code according to all attributes.
352
352
  # @return [Fixnum] Hash code
353
353
  def hash
354
- [annuity_amount, aggregation_account_ids, tax_rate, account_ids, initial_balance, create_log, inflation_rate, decumulation_horizon, accumulation_horizon, annuity_frequency_interval, portfolio_return, deposit_schedule].hash
354
+ [inflation_rate, decumulation_horizon, account_ids, tax_rate, accumulation_horizon, annuity_amount, portfolio_return, deposit_schedule, annuity_frequency_interval, initial_balance, aggregation_account_ids, create_log].hash
355
355
  end
356
356
 
357
357
  # Builds the object from hash
@@ -373,17 +373,16 @@ module ProtonApi
373
373
 
374
374
  self
375
375
  end
376
-
377
- # Deserializes the data based on type
376
+ # Deserializes the data based on type
378
377
  # @param string type Data type
379
378
  # @param string value Value to be deserialized
380
379
  # @return [Object] Deserialized data
381
380
  def _deserialize(type, value)
382
381
  case type.to_sym
383
382
  when :DateTime
384
- DateTime.parse(value)
383
+ value
385
384
  when :Date
386
- Date.parse(value)
385
+ value
387
386
  when :String
388
387
  value.to_s
389
388
  when :Integer
@@ -415,8 +414,7 @@ module ProtonApi
415
414
  temp_model.build_from_hash(value)
416
415
  end
417
416
  end
418
-
419
- # Returns the string representation of the object
417
+ # Returns the string representation of the object
420
418
  # @return [String] String presentation of the object
421
419
  def to_s
422
420
  to_hash.to_s
@@ -439,8 +437,7 @@ module ProtonApi
439
437
  end
440
438
  hash
441
439
  end
442
-
443
- # Outputs non-array value in the form of hash
440
+ # Outputs non-array value in the form of hash
444
441
  # For object, use to_hash. Otherwise, just return the value
445
442
  # @param [Object] value Any valid value
446
443
  # @return [Hash] Returns the value in the form of hash