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 DiversificationScoreRequest
17
- attr_accessor :portfolio_tickers
17
+ attr_accessor :allocation_id
18
18
 
19
19
  attr_accessor :end_date
20
20
 
21
- attr_accessor :portfolio_id
22
-
23
21
  attr_accessor :market_data_source
24
22
 
25
23
  attr_accessor :model_id
26
24
 
27
- attr_accessor :create_log
25
+ attr_accessor :account_id
28
26
 
29
- attr_accessor :allocation_id
27
+ attr_accessor :start_date
30
28
 
31
29
  attr_accessor :use_proxy_data
32
30
 
33
- attr_accessor :start_date
31
+ attr_accessor :portfolio_weights
34
32
 
35
- attr_accessor :account_id
33
+ attr_accessor :portfolio_tickers
34
+
35
+ attr_accessor :create_log
36
36
 
37
37
  attr_accessor :aggregation_account_id
38
38
 
39
- attr_accessor :portfolio_weights
39
+ attr_accessor :portfolio_id
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
- :'portfolio_tickers' => :'portfolio_tickers',
66
+ :'allocation_id' => :'allocation_id',
67
67
  :'end_date' => :'end_date',
68
- :'portfolio_id' => :'portfolio_id',
69
68
  :'market_data_source' => :'market_data_source',
70
69
  :'model_id' => :'model_id',
71
- :'create_log' => :'create_log',
72
- :'allocation_id' => :'allocation_id',
73
- :'use_proxy_data' => :'use_proxy_data',
74
- :'start_date' => :'start_date',
75
70
  :'account_id' => :'account_id',
71
+ :'start_date' => :'start_date',
72
+ :'use_proxy_data' => :'use_proxy_data',
73
+ :'portfolio_weights' => :'portfolio_weights',
74
+ :'portfolio_tickers' => :'portfolio_tickers',
75
+ :'create_log' => :'create_log',
76
76
  :'aggregation_account_id' => :'aggregation_account_id',
77
- :'portfolio_weights' => :'portfolio_weights'
77
+ :'portfolio_id' => :'portfolio_id'
78
78
  }
79
79
  end
80
80
 
81
81
  # Attribute type mapping.
82
82
  def self.swagger_types
83
83
  {
84
- :'portfolio_tickers' => :'Array<String>',
84
+ :'allocation_id' => :'String',
85
85
  :'end_date' => :'Date',
86
- :'portfolio_id' => :'String',
87
86
  :'market_data_source' => :'String',
88
87
  :'model_id' => :'String',
89
- :'create_log' => :'BOOLEAN',
90
- :'allocation_id' => :'String',
91
- :'use_proxy_data' => :'BOOLEAN',
92
- :'start_date' => :'Date',
93
88
  :'account_id' => :'String',
89
+ :'start_date' => :'Date',
90
+ :'use_proxy_data' => :'BOOLEAN',
91
+ :'portfolio_weights' => :'Array<Float>',
92
+ :'portfolio_tickers' => :'Array<String>',
93
+ :'create_log' => :'BOOLEAN',
94
94
  :'aggregation_account_id' => :'String',
95
- :'portfolio_weights' => :'Array<Float>'
95
+ :'portfolio_id' => :'String'
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?(:'portfolio_tickers')
108
- if (value = attributes[:'portfolio_tickers']).is_a?(Array)
109
- self.portfolio_tickers = value
110
- end
107
+ if attributes.has_key?(:'allocation_id')
108
+ self.allocation_id = attributes[:'allocation_id']
111
109
  end
112
110
 
113
111
  if attributes.has_key?(:'end_date')
114
112
  self.end_date = attributes[:'end_date']
115
113
  end
116
114
 
117
- if attributes.has_key?(:'portfolio_id')
118
- self.portfolio_id = attributes[:'portfolio_id']
119
- end
120
-
121
115
  if attributes.has_key?(:'market_data_source')
122
116
  self.market_data_source = attributes[:'market_data_source']
123
117
  else
@@ -128,14 +122,12 @@ module ProtonApi
128
122
  self.model_id = attributes[:'model_id']
129
123
  end
130
124
 
131
- if attributes.has_key?(:'create_log')
132
- self.create_log = attributes[:'create_log']
133
- else
134
- self.create_log = false
125
+ if attributes.has_key?(:'account_id')
126
+ self.account_id = attributes[:'account_id']
135
127
  end
136
128
 
137
- if attributes.has_key?(:'allocation_id')
138
- self.allocation_id = attributes[:'allocation_id']
129
+ if attributes.has_key?(:'start_date')
130
+ self.start_date = attributes[:'start_date']
139
131
  end
140
132
 
141
133
  if attributes.has_key?(:'use_proxy_data')
@@ -144,22 +136,30 @@ module ProtonApi
144
136
  self.use_proxy_data = false
145
137
  end
146
138
 
147
- if attributes.has_key?(:'start_date')
148
- self.start_date = attributes[:'start_date']
139
+ if attributes.has_key?(:'portfolio_weights')
140
+ if (value = attributes[:'portfolio_weights']).is_a?(Array)
141
+ self.portfolio_weights = value
142
+ end
149
143
  end
150
144
 
151
- if attributes.has_key?(:'account_id')
152
- self.account_id = attributes[:'account_id']
145
+ if attributes.has_key?(:'portfolio_tickers')
146
+ if (value = attributes[:'portfolio_tickers']).is_a?(Array)
147
+ self.portfolio_tickers = value
148
+ end
149
+ end
150
+
151
+ if attributes.has_key?(:'create_log')
152
+ self.create_log = attributes[:'create_log']
153
+ else
154
+ self.create_log = false
153
155
  end
154
156
 
155
157
  if attributes.has_key?(:'aggregation_account_id')
156
158
  self.aggregation_account_id = attributes[:'aggregation_account_id']
157
159
  end
158
160
 
159
- if attributes.has_key?(:'portfolio_weights')
160
- if (value = attributes[:'portfolio_weights']).is_a?(Array)
161
- self.portfolio_weights = value
162
- end
161
+ if attributes.has_key?(:'portfolio_id')
162
+ self.portfolio_id = attributes[:'portfolio_id']
163
163
  end
164
164
  end
165
165
 
@@ -193,18 +193,18 @@ module ProtonApi
193
193
  def ==(o)
194
194
  return true if self.equal?(o)
195
195
  self.class == o.class &&
196
- portfolio_tickers == o.portfolio_tickers &&
196
+ allocation_id == o.allocation_id &&
197
197
  end_date == o.end_date &&
198
- portfolio_id == o.portfolio_id &&
199
198
  market_data_source == o.market_data_source &&
200
199
  model_id == o.model_id &&
201
- create_log == o.create_log &&
202
- allocation_id == o.allocation_id &&
203
- use_proxy_data == o.use_proxy_data &&
204
- start_date == o.start_date &&
205
200
  account_id == o.account_id &&
201
+ start_date == o.start_date &&
202
+ use_proxy_data == o.use_proxy_data &&
203
+ portfolio_weights == o.portfolio_weights &&
204
+ portfolio_tickers == o.portfolio_tickers &&
205
+ create_log == o.create_log &&
206
206
  aggregation_account_id == o.aggregation_account_id &&
207
- portfolio_weights == o.portfolio_weights
207
+ portfolio_id == o.portfolio_id
208
208
  end
209
209
 
210
210
  # @see the `==` method
@@ -216,7 +216,7 @@ module ProtonApi
216
216
  # Calculates hash code according to all attributes.
217
217
  # @return [Fixnum] Hash code
218
218
  def hash
219
- [portfolio_tickers, end_date, portfolio_id, market_data_source, model_id, create_log, allocation_id, use_proxy_data, start_date, account_id, aggregation_account_id, portfolio_weights].hash
219
+ [allocation_id, end_date, market_data_source, model_id, account_id, start_date, use_proxy_data, portfolio_weights, portfolio_tickers, create_log, aggregation_account_id, portfolio_id].hash
220
220
  end
221
221
 
222
222
  # Builds the object from hash
@@ -238,17 +238,16 @@ module ProtonApi
238
238
 
239
239
  self
240
240
  end
241
-
242
- # Deserializes the data based on type
241
+ # Deserializes the data based on type
243
242
  # @param string type Data type
244
243
  # @param string value Value to be deserialized
245
244
  # @return [Object] Deserialized data
246
245
  def _deserialize(type, value)
247
246
  case type.to_sym
248
247
  when :DateTime
249
- DateTime.parse(value)
248
+ value
250
249
  when :Date
251
- Date.parse(value)
250
+ value
252
251
  when :String
253
252
  value.to_s
254
253
  when :Integer
@@ -280,8 +279,7 @@ module ProtonApi
280
279
  temp_model.build_from_hash(value)
281
280
  end
282
281
  end
283
-
284
- # Returns the string representation of the object
282
+ # Returns the string representation of the object
285
283
  # @return [String] String presentation of the object
286
284
  def to_s
287
285
  to_hash.to_s
@@ -304,8 +302,7 @@ module ProtonApi
304
302
  end
305
303
  hash
306
304
  end
307
-
308
- # Outputs non-array value in the form of hash
305
+ # Outputs non-array value in the form of hash
309
306
  # For object, use to_hash. Otherwise, just return the value
310
307
  # @param [Object] value Any valid value
311
308
  # @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,59 +14,59 @@ require 'date'
14
14
 
15
15
  module ProtonApi
16
16
  class EducationCalculatorAnnualCostRequest
17
- attr_accessor :aggregation_account_ids
18
-
19
- attr_accessor :tax_rate
20
-
21
- attr_accessor :account_ids
22
-
23
- attr_accessor :initial_balance
17
+ attr_accessor :education_inflation_rate
24
18
 
25
19
  attr_accessor :decumulation_horizon
26
20
 
27
- attr_accessor :percent_of_costs_covered
28
-
29
21
  attr_accessor :accumulation_horizon
30
22
 
31
- attr_accessor :education_inflation_rate
23
+ attr_accessor :account_ids
24
+
25
+ attr_accessor :tax_rate
26
+
27
+ attr_accessor :general_inflation_rate
32
28
 
33
29
  attr_accessor :portfolio_return
34
30
 
35
31
  attr_accessor :deposit_schedule
36
32
 
37
- attr_accessor :general_inflation_rate
33
+ attr_accessor :initial_balance
34
+
35
+ attr_accessor :percent_of_costs_covered
36
+
37
+ attr_accessor :aggregation_account_ids
38
38
 
39
39
  # Attribute mapping from ruby-style variable name to JSON key.
40
40
  def self.attribute_map
41
41
  {
42
- :'aggregation_account_ids' => :'aggregation_account_ids',
43
- :'tax_rate' => :'tax_rate',
44
- :'account_ids' => :'account_ids',
45
- :'initial_balance' => :'initial_balance',
42
+ :'education_inflation_rate' => :'education_inflation_rate',
46
43
  :'decumulation_horizon' => :'decumulation_horizon',
47
- :'percent_of_costs_covered' => :'percent_of_costs_covered',
48
44
  :'accumulation_horizon' => :'accumulation_horizon',
49
- :'education_inflation_rate' => :'education_inflation_rate',
45
+ :'account_ids' => :'account_ids',
46
+ :'tax_rate' => :'tax_rate',
47
+ :'general_inflation_rate' => :'general_inflation_rate',
50
48
  :'portfolio_return' => :'portfolio_return',
51
49
  :'deposit_schedule' => :'deposit_schedule',
52
- :'general_inflation_rate' => :'general_inflation_rate'
50
+ :'initial_balance' => :'initial_balance',
51
+ :'percent_of_costs_covered' => :'percent_of_costs_covered',
52
+ :'aggregation_account_ids' => :'aggregation_account_ids'
53
53
  }
54
54
  end
55
55
 
56
56
  # Attribute type mapping.
57
57
  def self.swagger_types
58
58
  {
59
- :'aggregation_account_ids' => :'Array<String>',
60
- :'tax_rate' => :'Float',
61
- :'account_ids' => :'Array<String>',
62
- :'initial_balance' => :'Float',
59
+ :'education_inflation_rate' => :'Float',
63
60
  :'decumulation_horizon' => :'Integer',
64
- :'percent_of_costs_covered' => :'Float',
65
61
  :'accumulation_horizon' => :'Integer',
66
- :'education_inflation_rate' => :'Float',
62
+ :'account_ids' => :'Array<String>',
63
+ :'tax_rate' => :'Float',
64
+ :'general_inflation_rate' => :'Float',
67
65
  :'portfolio_return' => :'Float',
68
66
  :'deposit_schedule' => :'CalculatorDepositSchedule1',
69
- :'general_inflation_rate' => :'Float'
67
+ :'initial_balance' => :'Float',
68
+ :'percent_of_costs_covered' => :'Float',
69
+ :'aggregation_account_ids' => :'Array<String>'
70
70
  }
71
71
  end
72
72
 
@@ -78,16 +78,18 @@ module ProtonApi
78
78
  # convert string to symbol for hash key
79
79
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
80
80
 
81
- if attributes.has_key?(:'aggregation_account_ids')
82
- if (value = attributes[:'aggregation_account_ids']).is_a?(Array)
83
- self.aggregation_account_ids = value
84
- end
81
+ if attributes.has_key?(:'education_inflation_rate')
82
+ self.education_inflation_rate = attributes[:'education_inflation_rate']
83
+ else
84
+ self.education_inflation_rate = 0.05
85
85
  end
86
86
 
87
- if attributes.has_key?(:'tax_rate')
88
- self.tax_rate = attributes[:'tax_rate']
89
- else
90
- self.tax_rate = 0.0
87
+ if attributes.has_key?(:'decumulation_horizon')
88
+ self.decumulation_horizon = attributes[:'decumulation_horizon']
89
+ end
90
+
91
+ if attributes.has_key?(:'accumulation_horizon')
92
+ self.accumulation_horizon = attributes[:'accumulation_horizon']
91
93
  end
92
94
 
93
95
  if attributes.has_key?(:'account_ids')
@@ -96,30 +98,16 @@ module ProtonApi
96
98
  end
97
99
  end
98
100
 
99
- if attributes.has_key?(:'initial_balance')
100
- self.initial_balance = attributes[:'initial_balance']
101
- else
102
- self.initial_balance = 0.0
103
- end
104
-
105
- if attributes.has_key?(:'decumulation_horizon')
106
- self.decumulation_horizon = attributes[:'decumulation_horizon']
107
- end
108
-
109
- if attributes.has_key?(:'percent_of_costs_covered')
110
- self.percent_of_costs_covered = attributes[:'percent_of_costs_covered']
101
+ if attributes.has_key?(:'tax_rate')
102
+ self.tax_rate = attributes[:'tax_rate']
111
103
  else
112
- self.percent_of_costs_covered = 1.0
113
- end
114
-
115
- if attributes.has_key?(:'accumulation_horizon')
116
- self.accumulation_horizon = attributes[:'accumulation_horizon']
104
+ self.tax_rate = 0.0
117
105
  end
118
106
 
119
- if attributes.has_key?(:'education_inflation_rate')
120
- self.education_inflation_rate = attributes[:'education_inflation_rate']
107
+ if attributes.has_key?(:'general_inflation_rate')
108
+ self.general_inflation_rate = attributes[:'general_inflation_rate']
121
109
  else
122
- self.education_inflation_rate = 0.05
110
+ self.general_inflation_rate = 0.0
123
111
  end
124
112
 
125
113
  if attributes.has_key?(:'portfolio_return')
@@ -130,10 +118,22 @@ module ProtonApi
130
118
  self.deposit_schedule = attributes[:'deposit_schedule']
131
119
  end
132
120
 
133
- if attributes.has_key?(:'general_inflation_rate')
134
- self.general_inflation_rate = attributes[:'general_inflation_rate']
121
+ if attributes.has_key?(:'initial_balance')
122
+ self.initial_balance = attributes[:'initial_balance']
135
123
  else
136
- self.general_inflation_rate = 0.0
124
+ self.initial_balance = 0.0
125
+ end
126
+
127
+ if attributes.has_key?(:'percent_of_costs_covered')
128
+ self.percent_of_costs_covered = attributes[:'percent_of_costs_covered']
129
+ else
130
+ self.percent_of_costs_covered = 1.0
131
+ end
132
+
133
+ if attributes.has_key?(:'aggregation_account_ids')
134
+ if (value = attributes[:'aggregation_account_ids']).is_a?(Array)
135
+ self.aggregation_account_ids = value
136
+ end
137
137
  end
138
138
  end
139
139
 
@@ -141,16 +141,8 @@ module ProtonApi
141
141
  # @return Array for valid properties with the reasons
142
142
  def list_invalid_properties
143
143
  invalid_properties = Array.new
144
- if !@tax_rate.nil? && @tax_rate > 1
145
- invalid_properties.push('invalid value for "tax_rate", must be smaller than or equal to 1.')
146
- end
147
-
148
- if !@tax_rate.nil? && @tax_rate < 0
149
- invalid_properties.push('invalid value for "tax_rate", must be greater than or equal to 0.')
150
- end
151
-
152
- if !@initial_balance.nil? && @initial_balance < 0
153
- invalid_properties.push('invalid value for "initial_balance", must be greater than or equal to 0.')
144
+ if !@education_inflation_rate.nil? && @education_inflation_rate < -1
145
+ invalid_properties.push('invalid value for "education_inflation_rate", must be greater than or equal to -1.')
154
146
  end
155
147
 
156
148
  if @decumulation_horizon.nil?
@@ -161,14 +153,6 @@ module ProtonApi
161
153
  invalid_properties.push('invalid value for "decumulation_horizon", must be greater than or equal to 0.')
162
154
  end
163
155
 
164
- if !@percent_of_costs_covered.nil? && @percent_of_costs_covered > 1
165
- invalid_properties.push('invalid value for "percent_of_costs_covered", must be smaller than or equal to 1.')
166
- end
167
-
168
- if !@percent_of_costs_covered.nil? && @percent_of_costs_covered < 0
169
- invalid_properties.push('invalid value for "percent_of_costs_covered", must be greater than or equal to 0.')
170
- end
171
-
172
156
  if @accumulation_horizon.nil?
173
157
  invalid_properties.push('invalid value for "accumulation_horizon", accumulation_horizon cannot be nil.')
174
158
  end
@@ -177,8 +161,16 @@ module ProtonApi
177
161
  invalid_properties.push('invalid value for "accumulation_horizon", must be greater than or equal to 0.')
178
162
  end
179
163
 
180
- if !@education_inflation_rate.nil? && @education_inflation_rate < -1
181
- invalid_properties.push('invalid value for "education_inflation_rate", must be greater than or equal to -1.')
164
+ if !@tax_rate.nil? && @tax_rate > 1
165
+ invalid_properties.push('invalid value for "tax_rate", must be smaller than or equal to 1.')
166
+ end
167
+
168
+ if !@tax_rate.nil? && @tax_rate < 0
169
+ invalid_properties.push('invalid value for "tax_rate", must be greater than or equal to 0.')
170
+ end
171
+
172
+ if !@general_inflation_rate.nil? && @general_inflation_rate < -1
173
+ invalid_properties.push('invalid value for "general_inflation_rate", must be greater than or equal to -1.')
182
174
  end
183
175
 
184
176
  if @portfolio_return.nil?
@@ -189,8 +181,16 @@ module ProtonApi
189
181
  invalid_properties.push('invalid value for "portfolio_return", must be greater than or equal to -1.')
190
182
  end
191
183
 
192
- if !@general_inflation_rate.nil? && @general_inflation_rate < -1
193
- invalid_properties.push('invalid value for "general_inflation_rate", must be greater than or equal to -1.')
184
+ if !@initial_balance.nil? && @initial_balance < 0
185
+ invalid_properties.push('invalid value for "initial_balance", must be greater than or equal to 0.')
186
+ end
187
+
188
+ if !@percent_of_costs_covered.nil? && @percent_of_costs_covered > 1
189
+ invalid_properties.push('invalid value for "percent_of_costs_covered", must be smaller than or equal to 1.')
190
+ end
191
+
192
+ if !@percent_of_costs_covered.nil? && @percent_of_costs_covered < 0
193
+ invalid_properties.push('invalid value for "percent_of_costs_covered", must be greater than or equal to 0.')
194
194
  end
195
195
 
196
196
  invalid_properties
@@ -199,44 +199,30 @@ module ProtonApi
199
199
  # Check to see if the all the properties in the model are valid
200
200
  # @return true if the model is valid
201
201
  def valid?
202
- return false if !@tax_rate.nil? && @tax_rate > 1
203
- return false if !@tax_rate.nil? && @tax_rate < 0
204
- return false if !@initial_balance.nil? && @initial_balance < 0
202
+ return false if !@education_inflation_rate.nil? && @education_inflation_rate < -1
205
203
  return false if @decumulation_horizon.nil?
206
204
  return false if @decumulation_horizon < 0
207
- return false if !@percent_of_costs_covered.nil? && @percent_of_costs_covered > 1
208
- return false if !@percent_of_costs_covered.nil? && @percent_of_costs_covered < 0
209
205
  return false if @accumulation_horizon.nil?
210
206
  return false if @accumulation_horizon < 0
211
- return false if !@education_inflation_rate.nil? && @education_inflation_rate < -1
207
+ return false if !@tax_rate.nil? && @tax_rate > 1
208
+ return false if !@tax_rate.nil? && @tax_rate < 0
209
+ return false if !@general_inflation_rate.nil? && @general_inflation_rate < -1
212
210
  return false if @portfolio_return.nil?
213
211
  return false if @portfolio_return < -1
214
- return false if !@general_inflation_rate.nil? && @general_inflation_rate < -1
212
+ return false if !@initial_balance.nil? && @initial_balance < 0
213
+ return false if !@percent_of_costs_covered.nil? && @percent_of_costs_covered > 1
214
+ return false if !@percent_of_costs_covered.nil? && @percent_of_costs_covered < 0
215
215
  true
216
216
  end
217
217
 
218
218
  # Custom attribute writer method with validation
219
- # @param [Object] tax_rate Value to be assigned
220
- def tax_rate=(tax_rate)
221
- if !tax_rate.nil? && tax_rate > 1
222
- fail ArgumentError, 'invalid value for "tax_rate", must be smaller than or equal to 1.'
223
- end
224
-
225
- if !tax_rate.nil? && tax_rate < 0
226
- fail ArgumentError, 'invalid value for "tax_rate", must be greater than or equal to 0.'
227
- end
228
-
229
- @tax_rate = tax_rate
230
- end
231
-
232
- # Custom attribute writer method with validation
233
- # @param [Object] initial_balance Value to be assigned
234
- def initial_balance=(initial_balance)
235
- if !initial_balance.nil? && initial_balance < 0
236
- fail ArgumentError, 'invalid value for "initial_balance", must be greater than or equal to 0.'
219
+ # @param [Object] education_inflation_rate Value to be assigned
220
+ def education_inflation_rate=(education_inflation_rate)
221
+ if !education_inflation_rate.nil? && education_inflation_rate < -1
222
+ fail ArgumentError, 'invalid value for "education_inflation_rate", must be greater than or equal to -1.'
237
223
  end
238
224
 
239
- @initial_balance = initial_balance
225
+ @education_inflation_rate = education_inflation_rate
240
226
  end
241
227
 
242
228
  # Custom attribute writer method with validation
@@ -253,20 +239,6 @@ module ProtonApi
253
239
  @decumulation_horizon = decumulation_horizon
254
240
  end
255
241
 
256
- # Custom attribute writer method with validation
257
- # @param [Object] percent_of_costs_covered Value to be assigned
258
- def percent_of_costs_covered=(percent_of_costs_covered)
259
- if !percent_of_costs_covered.nil? && percent_of_costs_covered > 1
260
- fail ArgumentError, 'invalid value for "percent_of_costs_covered", must be smaller than or equal to 1.'
261
- end
262
-
263
- if !percent_of_costs_covered.nil? && percent_of_costs_covered < 0
264
- fail ArgumentError, 'invalid value for "percent_of_costs_covered", must be greater than or equal to 0.'
265
- end
266
-
267
- @percent_of_costs_covered = percent_of_costs_covered
268
- end
269
-
270
242
  # Custom attribute writer method with validation
271
243
  # @param [Object] accumulation_horizon Value to be assigned
272
244
  def accumulation_horizon=(accumulation_horizon)
@@ -282,13 +254,27 @@ module ProtonApi
282
254
  end
283
255
 
284
256
  # Custom attribute writer method with validation
285
- # @param [Object] education_inflation_rate Value to be assigned
286
- def education_inflation_rate=(education_inflation_rate)
287
- if !education_inflation_rate.nil? && education_inflation_rate < -1
288
- fail ArgumentError, 'invalid value for "education_inflation_rate", must be greater than or equal to -1.'
257
+ # @param [Object] tax_rate Value to be assigned
258
+ def tax_rate=(tax_rate)
259
+ if !tax_rate.nil? && tax_rate > 1
260
+ fail ArgumentError, 'invalid value for "tax_rate", must be smaller than or equal to 1.'
289
261
  end
290
262
 
291
- @education_inflation_rate = education_inflation_rate
263
+ if !tax_rate.nil? && tax_rate < 0
264
+ fail ArgumentError, 'invalid value for "tax_rate", must be greater than or equal to 0.'
265
+ end
266
+
267
+ @tax_rate = tax_rate
268
+ end
269
+
270
+ # Custom attribute writer method with validation
271
+ # @param [Object] general_inflation_rate Value to be assigned
272
+ def general_inflation_rate=(general_inflation_rate)
273
+ if !general_inflation_rate.nil? && general_inflation_rate < -1
274
+ fail ArgumentError, 'invalid value for "general_inflation_rate", must be greater than or equal to -1.'
275
+ end
276
+
277
+ @general_inflation_rate = general_inflation_rate
292
278
  end
293
279
 
294
280
  # Custom attribute writer method with validation
@@ -306,13 +292,27 @@ module ProtonApi
306
292
  end
307
293
 
308
294
  # Custom attribute writer method with validation
309
- # @param [Object] general_inflation_rate Value to be assigned
310
- def general_inflation_rate=(general_inflation_rate)
311
- if !general_inflation_rate.nil? && general_inflation_rate < -1
312
- fail ArgumentError, 'invalid value for "general_inflation_rate", must be greater than or equal to -1.'
295
+ # @param [Object] initial_balance Value to be assigned
296
+ def initial_balance=(initial_balance)
297
+ if !initial_balance.nil? && initial_balance < 0
298
+ fail ArgumentError, 'invalid value for "initial_balance", must be greater than or equal to 0.'
313
299
  end
314
300
 
315
- @general_inflation_rate = general_inflation_rate
301
+ @initial_balance = initial_balance
302
+ end
303
+
304
+ # Custom attribute writer method with validation
305
+ # @param [Object] percent_of_costs_covered Value to be assigned
306
+ def percent_of_costs_covered=(percent_of_costs_covered)
307
+ if !percent_of_costs_covered.nil? && percent_of_costs_covered > 1
308
+ fail ArgumentError, 'invalid value for "percent_of_costs_covered", must be smaller than or equal to 1.'
309
+ end
310
+
311
+ if !percent_of_costs_covered.nil? && percent_of_costs_covered < 0
312
+ fail ArgumentError, 'invalid value for "percent_of_costs_covered", must be greater than or equal to 0.'
313
+ end
314
+
315
+ @percent_of_costs_covered = percent_of_costs_covered
316
316
  end
317
317
 
318
318
  # Checks equality by comparing each attribute.
@@ -320,17 +320,17 @@ module ProtonApi
320
320
  def ==(o)
321
321
  return true if self.equal?(o)
322
322
  self.class == o.class &&
323
- aggregation_account_ids == o.aggregation_account_ids &&
324
- tax_rate == o.tax_rate &&
325
- account_ids == o.account_ids &&
326
- initial_balance == o.initial_balance &&
323
+ education_inflation_rate == o.education_inflation_rate &&
327
324
  decumulation_horizon == o.decumulation_horizon &&
328
- percent_of_costs_covered == o.percent_of_costs_covered &&
329
325
  accumulation_horizon == o.accumulation_horizon &&
330
- education_inflation_rate == o.education_inflation_rate &&
326
+ account_ids == o.account_ids &&
327
+ tax_rate == o.tax_rate &&
328
+ general_inflation_rate == o.general_inflation_rate &&
331
329
  portfolio_return == o.portfolio_return &&
332
330
  deposit_schedule == o.deposit_schedule &&
333
- general_inflation_rate == o.general_inflation_rate
331
+ initial_balance == o.initial_balance &&
332
+ percent_of_costs_covered == o.percent_of_costs_covered &&
333
+ aggregation_account_ids == o.aggregation_account_ids
334
334
  end
335
335
 
336
336
  # @see the `==` method
@@ -342,7 +342,7 @@ module ProtonApi
342
342
  # Calculates hash code according to all attributes.
343
343
  # @return [Fixnum] Hash code
344
344
  def hash
345
- [aggregation_account_ids, tax_rate, account_ids, initial_balance, decumulation_horizon, percent_of_costs_covered, accumulation_horizon, education_inflation_rate, portfolio_return, deposit_schedule, general_inflation_rate].hash
345
+ [education_inflation_rate, decumulation_horizon, accumulation_horizon, account_ids, tax_rate, general_inflation_rate, portfolio_return, deposit_schedule, initial_balance, percent_of_costs_covered, aggregation_account_ids].hash
346
346
  end
347
347
 
348
348
  # Builds the object from hash
@@ -364,17 +364,16 @@ module ProtonApi
364
364
 
365
365
  self
366
366
  end
367
-
368
- # Deserializes the data based on type
367
+ # Deserializes the data based on type
369
368
  # @param string type Data type
370
369
  # @param string value Value to be deserialized
371
370
  # @return [Object] Deserialized data
372
371
  def _deserialize(type, value)
373
372
  case type.to_sym
374
373
  when :DateTime
375
- DateTime.parse(value)
374
+ value
376
375
  when :Date
377
- Date.parse(value)
376
+ value
378
377
  when :String
379
378
  value.to_s
380
379
  when :Integer
@@ -406,8 +405,7 @@ module ProtonApi
406
405
  temp_model.build_from_hash(value)
407
406
  end
408
407
  end
409
-
410
- # Returns the string representation of the object
408
+ # Returns the string representation of the object
411
409
  # @return [String] String presentation of the object
412
410
  def to_s
413
411
  to_hash.to_s
@@ -430,8 +428,7 @@ module ProtonApi
430
428
  end
431
429
  hash
432
430
  end
433
-
434
- # Outputs non-array value in the form of hash
431
+ # Outputs non-array value in the form of hash
435
432
  # For object, use to_hash. Otherwise, just return the value
436
433
  # @param [Object] value Any valid value
437
434
  # @return [Hash] Returns the value in the form of hash