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