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,16 +14,16 @@ require 'date'
14
14
 
15
15
  module ProtonApi
16
16
  class OptConfig1
17
- attr_accessor :sec_types
17
+ attr_accessor :tickers
18
18
 
19
19
  attr_accessor :w_config
20
20
 
21
- attr_accessor :tickers
22
-
23
21
  attr_accessor :min_assets
24
22
 
25
23
  attr_accessor :w_asset_config
26
24
 
25
+ attr_accessor :sec_types
26
+
27
27
  class EnumAttributeValidator
28
28
  attr_reader :datatype
29
29
  attr_reader :allowable_values
@@ -49,22 +49,22 @@ module ProtonApi
49
49
  # Attribute mapping from ruby-style variable name to JSON key.
50
50
  def self.attribute_map
51
51
  {
52
- :'sec_types' => :'sec_types',
53
- :'w_config' => :'w_config',
54
52
  :'tickers' => :'tickers',
53
+ :'w_config' => :'w_config',
55
54
  :'min_assets' => :'min_assets',
56
- :'w_asset_config' => :'w_asset_config'
55
+ :'w_asset_config' => :'w_asset_config',
56
+ :'sec_types' => :'sec_types'
57
57
  }
58
58
  end
59
59
 
60
60
  # Attribute type mapping.
61
61
  def self.swagger_types
62
62
  {
63
- :'sec_types' => :'Array<String>',
64
- :'w_config' => :'WConfig1',
65
63
  :'tickers' => :'Array<String>',
64
+ :'w_config' => :'WConfig1',
66
65
  :'min_assets' => :'Integer',
67
- :'w_asset_config' => :'Object'
66
+ :'w_asset_config' => :'Object',
67
+ :'sec_types' => :'Array<String>'
68
68
  }
69
69
  end
70
70
 
@@ -76,9 +76,9 @@ module ProtonApi
76
76
  # convert string to symbol for hash key
77
77
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
78
78
 
79
- if attributes.has_key?(:'sec_types')
80
- if (value = attributes[:'sec_types']).is_a?(Array)
81
- self.sec_types = value
79
+ if attributes.has_key?(:'tickers')
80
+ if (value = attributes[:'tickers']).is_a?(Array)
81
+ self.tickers = value
82
82
  end
83
83
  end
84
84
 
@@ -86,12 +86,6 @@ module ProtonApi
86
86
  self.w_config = attributes[:'w_config']
87
87
  end
88
88
 
89
- if attributes.has_key?(:'tickers')
90
- if (value = attributes[:'tickers']).is_a?(Array)
91
- self.tickers = value
92
- end
93
- end
94
-
95
89
  if attributes.has_key?(:'min_assets')
96
90
  self.min_assets = attributes[:'min_assets']
97
91
  else
@@ -101,6 +95,12 @@ module ProtonApi
101
95
  if attributes.has_key?(:'w_asset_config')
102
96
  self.w_asset_config = attributes[:'w_asset_config']
103
97
  end
98
+
99
+ if attributes.has_key?(:'sec_types')
100
+ if (value = attributes[:'sec_types']).is_a?(Array)
101
+ self.sec_types = value
102
+ end
103
+ end
104
104
  end
105
105
 
106
106
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -136,11 +136,11 @@ module ProtonApi
136
136
  def ==(o)
137
137
  return true if self.equal?(o)
138
138
  self.class == o.class &&
139
- sec_types == o.sec_types &&
140
- w_config == o.w_config &&
141
139
  tickers == o.tickers &&
140
+ w_config == o.w_config &&
142
141
  min_assets == o.min_assets &&
143
- w_asset_config == o.w_asset_config
142
+ w_asset_config == o.w_asset_config &&
143
+ sec_types == o.sec_types
144
144
  end
145
145
 
146
146
  # @see the `==` method
@@ -152,7 +152,7 @@ module ProtonApi
152
152
  # Calculates hash code according to all attributes.
153
153
  # @return [Fixnum] Hash code
154
154
  def hash
155
- [sec_types, w_config, tickers, min_assets, w_asset_config].hash
155
+ [tickers, w_config, min_assets, w_asset_config, sec_types].hash
156
156
  end
157
157
 
158
158
  # Builds the object from hash
@@ -174,17 +174,16 @@ module ProtonApi
174
174
 
175
175
  self
176
176
  end
177
-
178
- # Deserializes the data based on type
177
+ # Deserializes the data based on type
179
178
  # @param string type Data type
180
179
  # @param string value Value to be deserialized
181
180
  # @return [Object] Deserialized data
182
181
  def _deserialize(type, value)
183
182
  case type.to_sym
184
183
  when :DateTime
185
- DateTime.parse(value)
184
+ value
186
185
  when :Date
187
- Date.parse(value)
186
+ value
188
187
  when :String
189
188
  value.to_s
190
189
  when :Integer
@@ -216,8 +215,7 @@ module ProtonApi
216
215
  temp_model.build_from_hash(value)
217
216
  end
218
217
  end
219
-
220
- # Returns the string representation of the object
218
+ # Returns the string representation of the object
221
219
  # @return [String] String presentation of the object
222
220
  def to_s
223
221
  to_hash.to_s
@@ -240,8 +238,7 @@ module ProtonApi
240
238
  end
241
239
  hash
242
240
  end
243
-
244
- # Outputs non-array value in the form of hash
241
+ # Outputs non-array value in the form of hash
245
242
  # For object, use to_hash. Otherwise, just return the value
246
243
  # @param [Object] value Any valid value
247
244
  # @return [Hash] Returns the value in the form of hash
@@ -0,0 +1,398 @@
1
+ =begin
2
+ #Hydrogen Proton API
3
+
4
+ #Financial engineering module of Hydrogen Atom
5
+
6
+ OpenAPI spec version: 1.9.0
7
+ Contact: info@hydrogenplatform.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.19
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module ProtonApi
16
+ class OrderRebalanceRequest
17
+ attr_accessor :non_fractional
18
+
19
+ attr_accessor :order_scope
20
+
21
+ attr_accessor :buy_threshold
22
+
23
+ attr_accessor :commit_orders
24
+
25
+ attr_accessor :account_id
26
+
27
+ attr_accessor :port_threshold
28
+
29
+ attr_accessor :use_cash_available
30
+
31
+ attr_accessor :use_strategic
32
+
33
+ attr_accessor :sell_transaction_code_id
34
+
35
+ attr_accessor :buy_transaction_code_id
36
+
37
+ attr_accessor :cash_portfolio_id
38
+
39
+ attr_accessor :restrictions_on
40
+
41
+ attr_accessor :sell_threshold
42
+
43
+ attr_accessor :portfolio_id
44
+
45
+ class EnumAttributeValidator
46
+ attr_reader :datatype
47
+ attr_reader :allowable_values
48
+
49
+ def initialize(datatype, allowable_values)
50
+ @allowable_values = allowable_values.map do |value|
51
+ case datatype.to_s
52
+ when /Integer/i
53
+ value.to_i
54
+ when /Float/i
55
+ value.to_f
56
+ else
57
+ value
58
+ end
59
+ end
60
+ end
61
+
62
+ def valid?(value)
63
+ !value || allowable_values.include?(value)
64
+ end
65
+ end
66
+
67
+ # Attribute mapping from ruby-style variable name to JSON key.
68
+ def self.attribute_map
69
+ {
70
+ :'non_fractional' => :'non_fractional',
71
+ :'order_scope' => :'order_scope',
72
+ :'buy_threshold' => :'buy_threshold',
73
+ :'commit_orders' => :'commit_orders',
74
+ :'account_id' => :'account_id',
75
+ :'port_threshold' => :'port_threshold',
76
+ :'use_cash_available' => :'use_cash_available',
77
+ :'use_strategic' => :'use_strategic',
78
+ :'sell_transaction_code_id' => :'sell_transaction_code_id',
79
+ :'buy_transaction_code_id' => :'buy_transaction_code_id',
80
+ :'cash_portfolio_id' => :'cash_portfolio_id',
81
+ :'restrictions_on' => :'restrictions_on',
82
+ :'sell_threshold' => :'sell_threshold',
83
+ :'portfolio_id' => :'portfolio_id'
84
+ }
85
+ end
86
+
87
+ # Attribute type mapping.
88
+ def self.swagger_types
89
+ {
90
+ :'non_fractional' => :'BOOLEAN',
91
+ :'order_scope' => :'String',
92
+ :'buy_threshold' => :'Float',
93
+ :'commit_orders' => :'BOOLEAN',
94
+ :'account_id' => :'String',
95
+ :'port_threshold' => :'Float',
96
+ :'use_cash_available' => :'BOOLEAN',
97
+ :'use_strategic' => :'BOOLEAN',
98
+ :'sell_transaction_code_id' => :'String',
99
+ :'buy_transaction_code_id' => :'String',
100
+ :'cash_portfolio_id' => :'String',
101
+ :'restrictions_on' => :'BOOLEAN',
102
+ :'sell_threshold' => :'Float',
103
+ :'portfolio_id' => :'String'
104
+ }
105
+ end
106
+
107
+ # Initializes the object
108
+ # @param [Hash] attributes Model attributes in the form of hash
109
+ def initialize(attributes = {})
110
+ return unless attributes.is_a?(Hash)
111
+
112
+ # convert string to symbol for hash key
113
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
114
+
115
+ if attributes.has_key?(:'non_fractional')
116
+ self.non_fractional = attributes[:'non_fractional']
117
+ else
118
+ self.non_fractional = false
119
+ end
120
+
121
+ if attributes.has_key?(:'order_scope')
122
+ self.order_scope = attributes[:'order_scope']
123
+ end
124
+
125
+ if attributes.has_key?(:'buy_threshold')
126
+ self.buy_threshold = attributes[:'buy_threshold']
127
+ else
128
+ self.buy_threshold = 0.0
129
+ end
130
+
131
+ if attributes.has_key?(:'commit_orders')
132
+ self.commit_orders = attributes[:'commit_orders']
133
+ else
134
+ self.commit_orders = true
135
+ end
136
+
137
+ if attributes.has_key?(:'account_id')
138
+ self.account_id = attributes[:'account_id']
139
+ end
140
+
141
+ if attributes.has_key?(:'port_threshold')
142
+ self.port_threshold = attributes[:'port_threshold']
143
+ else
144
+ self.port_threshold = 0.0
145
+ end
146
+
147
+ if attributes.has_key?(:'use_cash_available')
148
+ self.use_cash_available = attributes[:'use_cash_available']
149
+ else
150
+ self.use_cash_available = false
151
+ end
152
+
153
+ if attributes.has_key?(:'use_strategic')
154
+ self.use_strategic = attributes[:'use_strategic']
155
+ else
156
+ self.use_strategic = false
157
+ end
158
+
159
+ if attributes.has_key?(:'sell_transaction_code_id')
160
+ self.sell_transaction_code_id = attributes[:'sell_transaction_code_id']
161
+ end
162
+
163
+ if attributes.has_key?(:'buy_transaction_code_id')
164
+ self.buy_transaction_code_id = attributes[:'buy_transaction_code_id']
165
+ end
166
+
167
+ if attributes.has_key?(:'cash_portfolio_id')
168
+ self.cash_portfolio_id = attributes[:'cash_portfolio_id']
169
+ end
170
+
171
+ if attributes.has_key?(:'restrictions_on')
172
+ self.restrictions_on = attributes[:'restrictions_on']
173
+ else
174
+ self.restrictions_on = false
175
+ end
176
+
177
+ if attributes.has_key?(:'sell_threshold')
178
+ self.sell_threshold = attributes[:'sell_threshold']
179
+ else
180
+ self.sell_threshold = 0.0
181
+ end
182
+
183
+ if attributes.has_key?(:'portfolio_id')
184
+ self.portfolio_id = attributes[:'portfolio_id']
185
+ end
186
+ end
187
+
188
+ # Show invalid properties with the reasons. Usually used together with valid?
189
+ # @return Array for valid properties with the reasons
190
+ def list_invalid_properties
191
+ invalid_properties = Array.new
192
+ if @order_scope.nil?
193
+ invalid_properties.push('invalid value for "order_scope", order_scope cannot be nil.')
194
+ end
195
+
196
+ if !@buy_threshold.nil? && @buy_threshold < 0
197
+ invalid_properties.push('invalid value for "buy_threshold", must be greater than or equal to 0.')
198
+ end
199
+
200
+ if !@port_threshold.nil? && @port_threshold < 0
201
+ invalid_properties.push('invalid value for "port_threshold", must be greater than or equal to 0.')
202
+ end
203
+
204
+ if !@sell_threshold.nil? && @sell_threshold < 1
205
+ invalid_properties.push('invalid value for "sell_threshold", must be greater than or equal to 1.')
206
+ end
207
+
208
+ invalid_properties
209
+ end
210
+
211
+ # Check to see if the all the properties in the model are valid
212
+ # @return true if the model is valid
213
+ def valid?
214
+ return false if @order_scope.nil?
215
+ order_scope_validator = EnumAttributeValidator.new('String', ['all', 'buy_only', 'sell_only'])
216
+ return false unless order_scope_validator.valid?(@order_scope)
217
+ return false if !@buy_threshold.nil? && @buy_threshold < 0
218
+ return false if !@port_threshold.nil? && @port_threshold < 0
219
+ return false if !@sell_threshold.nil? && @sell_threshold < 1
220
+ true
221
+ end
222
+
223
+ # Custom attribute writer method checking allowed values (enum).
224
+ # @param [Object] order_scope Object to be assigned
225
+ def order_scope=(order_scope)
226
+ validator = EnumAttributeValidator.new('String', ['all', 'buy_only', 'sell_only'])
227
+ unless validator.valid?(order_scope)
228
+ fail ArgumentError, 'invalid value for "order_scope", must be one of #{validator.allowable_values}.'
229
+ end
230
+ @order_scope = order_scope
231
+ end
232
+
233
+ # Custom attribute writer method with validation
234
+ # @param [Object] buy_threshold Value to be assigned
235
+ def buy_threshold=(buy_threshold)
236
+ if !buy_threshold.nil? && buy_threshold < 0
237
+ fail ArgumentError, 'invalid value for "buy_threshold", must be greater than or equal to 0.'
238
+ end
239
+
240
+ @buy_threshold = buy_threshold
241
+ end
242
+
243
+ # Custom attribute writer method with validation
244
+ # @param [Object] port_threshold Value to be assigned
245
+ def port_threshold=(port_threshold)
246
+ if !port_threshold.nil? && port_threshold < 0
247
+ fail ArgumentError, 'invalid value for "port_threshold", must be greater than or equal to 0.'
248
+ end
249
+
250
+ @port_threshold = port_threshold
251
+ end
252
+
253
+ # Custom attribute writer method with validation
254
+ # @param [Object] sell_threshold Value to be assigned
255
+ def sell_threshold=(sell_threshold)
256
+ if !sell_threshold.nil? && sell_threshold < 1
257
+ fail ArgumentError, 'invalid value for "sell_threshold", must be greater than or equal to 1.'
258
+ end
259
+
260
+ @sell_threshold = sell_threshold
261
+ end
262
+
263
+ # Checks equality by comparing each attribute.
264
+ # @param [Object] Object to be compared
265
+ def ==(o)
266
+ return true if self.equal?(o)
267
+ self.class == o.class &&
268
+ non_fractional == o.non_fractional &&
269
+ order_scope == o.order_scope &&
270
+ buy_threshold == o.buy_threshold &&
271
+ commit_orders == o.commit_orders &&
272
+ account_id == o.account_id &&
273
+ port_threshold == o.port_threshold &&
274
+ use_cash_available == o.use_cash_available &&
275
+ use_strategic == o.use_strategic &&
276
+ sell_transaction_code_id == o.sell_transaction_code_id &&
277
+ buy_transaction_code_id == o.buy_transaction_code_id &&
278
+ cash_portfolio_id == o.cash_portfolio_id &&
279
+ restrictions_on == o.restrictions_on &&
280
+ sell_threshold == o.sell_threshold &&
281
+ portfolio_id == o.portfolio_id
282
+ end
283
+
284
+ # @see the `==` method
285
+ # @param [Object] Object to be compared
286
+ def eql?(o)
287
+ self == o
288
+ end
289
+
290
+ # Calculates hash code according to all attributes.
291
+ # @return [Fixnum] Hash code
292
+ def hash
293
+ [non_fractional, order_scope, buy_threshold, commit_orders, account_id, port_threshold, use_cash_available, use_strategic, sell_transaction_code_id, buy_transaction_code_id, cash_portfolio_id, restrictions_on, sell_threshold, portfolio_id].hash
294
+ end
295
+
296
+ # Builds the object from hash
297
+ # @param [Hash] attributes Model attributes in the form of hash
298
+ # @return [Object] Returns the model itself
299
+ def build_from_hash(attributes)
300
+ return nil unless attributes.is_a?(Hash)
301
+ self.class.swagger_types.each_pair do |key, type|
302
+ if type =~ /\AArray<(.*)>/i
303
+ # check to ensure the input is an array given that the attribute
304
+ # is documented as an array but the input is not
305
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
306
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
307
+ end
308
+ elsif !attributes[self.class.attribute_map[key]].nil?
309
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
310
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
311
+ end
312
+
313
+ self
314
+ end
315
+ # Deserializes the data based on type
316
+ # @param string type Data type
317
+ # @param string value Value to be deserialized
318
+ # @return [Object] Deserialized data
319
+ def _deserialize(type, value)
320
+ case type.to_sym
321
+ when :DateTime
322
+ value
323
+ when :Date
324
+ value
325
+ when :String
326
+ value.to_s
327
+ when :Integer
328
+ value.to_i
329
+ when :Float
330
+ value.to_f
331
+ when :BOOLEAN
332
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
333
+ true
334
+ else
335
+ false
336
+ end
337
+ when :Object
338
+ # generic object (usually a Hash), return directly
339
+ value
340
+ when /\AArray<(?<inner_type>.+)>\z/
341
+ inner_type = Regexp.last_match[:inner_type]
342
+ value.map { |v| _deserialize(inner_type, v) }
343
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
344
+ k_type = Regexp.last_match[:k_type]
345
+ v_type = Regexp.last_match[:v_type]
346
+ {}.tap do |hash|
347
+ value.each do |k, v|
348
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
349
+ end
350
+ end
351
+ else # model
352
+ temp_model = ProtonApi.const_get(type).new
353
+ temp_model.build_from_hash(value)
354
+ end
355
+ end
356
+ # Returns the string representation of the object
357
+ # @return [String] String presentation of the object
358
+ def to_s
359
+ to_hash.to_s
360
+ end
361
+
362
+ # to_body is an alias to to_hash (backward compatibility)
363
+ # @return [Hash] Returns the object in the form of hash
364
+ def to_body
365
+ to_hash
366
+ end
367
+
368
+ # Returns the object in the form of hash
369
+ # @return [Hash] Returns the object in the form of hash
370
+ def to_hash
371
+ hash = {}
372
+ self.class.attribute_map.each_pair do |attr, param|
373
+ value = self.send(attr)
374
+ next if value.nil?
375
+ hash[param] = _to_hash(value)
376
+ end
377
+ hash
378
+ end
379
+ # Outputs non-array value in the form of hash
380
+ # For object, use to_hash. Otherwise, just return the value
381
+ # @param [Object] value Any valid value
382
+ # @return [Hash] Returns the value in the form of hash
383
+ def _to_hash(value)
384
+ if value.is_a?(Array)
385
+ value.compact.map { |v| _to_hash(v) }
386
+ elsif value.is_a?(Hash)
387
+ {}.tap do |hash|
388
+ value.each { |k, v| hash[k] = _to_hash(v) }
389
+ end
390
+ elsif value.respond_to? :to_hash
391
+ value.to_hash
392
+ else
393
+ value
394
+ end
395
+ end
396
+
397
+ end
398
+ end