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,18 +14,18 @@ require 'date'
14
14
 
15
15
  module ProtonApi
16
16
  class Settings
17
+ attr_accessor :default_drift_factor
18
+
17
19
  attr_accessor :drift_rebal
18
20
 
19
21
  attr_accessor :downside
20
22
 
21
- attr_accessor :default_drift_factor
23
+ attr_accessor :tax_efficiency_id
22
24
 
23
25
  attr_accessor :period_rebal
24
26
 
25
27
  attr_accessor :rebalance_period
26
28
 
27
- attr_accessor :tax_efficiency_id
28
-
29
29
  class EnumAttributeValidator
30
30
  attr_reader :datatype
31
31
  attr_reader :allowable_values
@@ -51,24 +51,24 @@ module ProtonApi
51
51
  # Attribute mapping from ruby-style variable name to JSON key.
52
52
  def self.attribute_map
53
53
  {
54
+ :'default_drift_factor' => :'default_drift_factor',
54
55
  :'drift_rebal' => :'drift_rebal',
55
56
  :'downside' => :'downside',
56
- :'default_drift_factor' => :'default_drift_factor',
57
+ :'tax_efficiency_id' => :'tax_efficiency_id',
57
58
  :'period_rebal' => :'period_rebal',
58
- :'rebalance_period' => :'rebalance_period',
59
- :'tax_efficiency_id' => :'tax_efficiency_id'
59
+ :'rebalance_period' => :'rebalance_period'
60
60
  }
61
61
  end
62
62
 
63
63
  # Attribute type mapping.
64
64
  def self.swagger_types
65
65
  {
66
+ :'default_drift_factor' => :'Float',
66
67
  :'drift_rebal' => :'BOOLEAN',
67
68
  :'downside' => :'BOOLEAN',
68
- :'default_drift_factor' => :'Float',
69
+ :'tax_efficiency_id' => :'Integer',
69
70
  :'period_rebal' => :'BOOLEAN',
70
- :'rebalance_period' => :'Integer',
71
- :'tax_efficiency_id' => :'Integer'
71
+ :'rebalance_period' => :'Integer'
72
72
  }
73
73
  end
74
74
 
@@ -80,6 +80,10 @@ module ProtonApi
80
80
  # convert string to symbol for hash key
81
81
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
82
82
 
83
+ if attributes.has_key?(:'default_drift_factor')
84
+ self.default_drift_factor = attributes[:'default_drift_factor']
85
+ end
86
+
83
87
  if attributes.has_key?(:'drift_rebal')
84
88
  self.drift_rebal = attributes[:'drift_rebal']
85
89
  end
@@ -88,8 +92,8 @@ module ProtonApi
88
92
  self.downside = attributes[:'downside']
89
93
  end
90
94
 
91
- if attributes.has_key?(:'default_drift_factor')
92
- self.default_drift_factor = attributes[:'default_drift_factor']
95
+ if attributes.has_key?(:'tax_efficiency_id')
96
+ self.tax_efficiency_id = attributes[:'tax_efficiency_id']
93
97
  end
94
98
 
95
99
  if attributes.has_key?(:'period_rebal')
@@ -99,10 +103,6 @@ module ProtonApi
99
103
  if attributes.has_key?(:'rebalance_period')
100
104
  self.rebalance_period = attributes[:'rebalance_period']
101
105
  end
102
-
103
- if attributes.has_key?(:'tax_efficiency_id')
104
- self.tax_efficiency_id = attributes[:'tax_efficiency_id']
105
- end
106
106
  end
107
107
 
108
108
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -120,10 +120,10 @@ module ProtonApi
120
120
  # @return true if the model is valid
121
121
  def valid?
122
122
  return false if !@default_drift_factor.nil? && @default_drift_factor < 0
123
- rebalance_period_validator = EnumAttributeValidator.new('Integer', ['0', '1', '2', '3', '4'])
124
- return false unless rebalance_period_validator.valid?(@rebalance_period)
125
123
  tax_efficiency_id_validator = EnumAttributeValidator.new('Integer', ['0', '1', '2', '3', '4'])
126
124
  return false unless tax_efficiency_id_validator.valid?(@tax_efficiency_id)
125
+ rebalance_period_validator = EnumAttributeValidator.new('Integer', ['0', '1', '2', '3', '4'])
126
+ return false unless rebalance_period_validator.valid?(@rebalance_period)
127
127
  true
128
128
  end
129
129
 
@@ -137,16 +137,6 @@ module ProtonApi
137
137
  @default_drift_factor = default_drift_factor
138
138
  end
139
139
 
140
- # Custom attribute writer method checking allowed values (enum).
141
- # @param [Object] rebalance_period Object to be assigned
142
- def rebalance_period=(rebalance_period)
143
- validator = EnumAttributeValidator.new('Integer', ['0', '1', '2', '3', '4'])
144
- unless validator.valid?(rebalance_period)
145
- fail ArgumentError, 'invalid value for "rebalance_period", must be one of #{validator.allowable_values}.'
146
- end
147
- @rebalance_period = rebalance_period
148
- end
149
-
150
140
  # Custom attribute writer method checking allowed values (enum).
151
141
  # @param [Object] tax_efficiency_id Object to be assigned
152
142
  def tax_efficiency_id=(tax_efficiency_id)
@@ -157,17 +147,27 @@ module ProtonApi
157
147
  @tax_efficiency_id = tax_efficiency_id
158
148
  end
159
149
 
150
+ # Custom attribute writer method checking allowed values (enum).
151
+ # @param [Object] rebalance_period Object to be assigned
152
+ def rebalance_period=(rebalance_period)
153
+ validator = EnumAttributeValidator.new('Integer', ['0', '1', '2', '3', '4'])
154
+ unless validator.valid?(rebalance_period)
155
+ fail ArgumentError, 'invalid value for "rebalance_period", must be one of #{validator.allowable_values}.'
156
+ end
157
+ @rebalance_period = rebalance_period
158
+ end
159
+
160
160
  # Checks equality by comparing each attribute.
161
161
  # @param [Object] Object to be compared
162
162
  def ==(o)
163
163
  return true if self.equal?(o)
164
164
  self.class == o.class &&
165
+ default_drift_factor == o.default_drift_factor &&
165
166
  drift_rebal == o.drift_rebal &&
166
167
  downside == o.downside &&
167
- default_drift_factor == o.default_drift_factor &&
168
+ tax_efficiency_id == o.tax_efficiency_id &&
168
169
  period_rebal == o.period_rebal &&
169
- rebalance_period == o.rebalance_period &&
170
- tax_efficiency_id == o.tax_efficiency_id
170
+ rebalance_period == o.rebalance_period
171
171
  end
172
172
 
173
173
  # @see the `==` method
@@ -179,7 +179,7 @@ module ProtonApi
179
179
  # Calculates hash code according to all attributes.
180
180
  # @return [Fixnum] Hash code
181
181
  def hash
182
- [drift_rebal, downside, default_drift_factor, period_rebal, rebalance_period, tax_efficiency_id].hash
182
+ [default_drift_factor, drift_rebal, downside, tax_efficiency_id, period_rebal, rebalance_period].hash
183
183
  end
184
184
 
185
185
  # Builds the object from hash
@@ -201,17 +201,16 @@ module ProtonApi
201
201
 
202
202
  self
203
203
  end
204
-
205
- # Deserializes the data based on type
204
+ # Deserializes the data based on type
206
205
  # @param string type Data type
207
206
  # @param string value Value to be deserialized
208
207
  # @return [Object] Deserialized data
209
208
  def _deserialize(type, value)
210
209
  case type.to_sym
211
210
  when :DateTime
212
- DateTime.parse(value)
211
+ value
213
212
  when :Date
214
- Date.parse(value)
213
+ value
215
214
  when :String
216
215
  value.to_s
217
216
  when :Integer
@@ -243,8 +242,7 @@ module ProtonApi
243
242
  temp_model.build_from_hash(value)
244
243
  end
245
244
  end
246
-
247
- # Returns the string representation of the object
245
+ # Returns the string representation of the object
248
246
  # @return [String] String presentation of the object
249
247
  def to_s
250
248
  to_hash.to_s
@@ -267,8 +265,7 @@ module ProtonApi
267
265
  end
268
266
  hash
269
267
  end
270
-
271
- # Outputs non-array value in the form of hash
268
+ # Outputs non-array value in the form of hash
272
269
  # For object, use to_hash. Otherwise, just return the value
273
270
  # @param [Object] value Any valid value
274
271
  # @return [Hash] Returns the value in the form of hash
@@ -0,0 +1,505 @@
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 SpendingAnalysisRequest
17
+ attr_accessor :merchant_scope
18
+
19
+ attr_accessor :account_ids
20
+
21
+ attr_accessor :business_ids
22
+
23
+ attr_accessor :card_ids
24
+
25
+ attr_accessor :show_by_merchant
26
+
27
+ attr_accessor :show_by_period
28
+
29
+ attr_accessor :only_cleansed
30
+
31
+ attr_accessor :frequency
32
+
33
+ attr_accessor :end_date
34
+
35
+ attr_accessor :as_of_date
36
+
37
+ attr_accessor :transaction_category_scope
38
+
39
+ attr_accessor :start_date
40
+
41
+ attr_accessor :card_status_scope
42
+
43
+ attr_accessor :only_active_clients
44
+
45
+ attr_accessor :lookback_periods
46
+
47
+ attr_accessor :frequency_unit
48
+
49
+ attr_accessor :household_ids
50
+
51
+ attr_accessor :aggregation_account_ids
52
+
53
+ attr_accessor :currency_code
54
+
55
+ attr_accessor :client_ids
56
+
57
+ attr_accessor :scope
58
+
59
+ attr_accessor :currency_conversion
60
+
61
+ attr_accessor :transaction_status_scope
62
+
63
+ attr_accessor :show_by_category
64
+
65
+ class EnumAttributeValidator
66
+ attr_reader :datatype
67
+ attr_reader :allowable_values
68
+
69
+ def initialize(datatype, allowable_values)
70
+ @allowable_values = allowable_values.map do |value|
71
+ case datatype.to_s
72
+ when /Integer/i
73
+ value.to_i
74
+ when /Float/i
75
+ value.to_f
76
+ else
77
+ value
78
+ end
79
+ end
80
+ end
81
+
82
+ def valid?(value)
83
+ !value || allowable_values.include?(value)
84
+ end
85
+ end
86
+
87
+ # Attribute mapping from ruby-style variable name to JSON key.
88
+ def self.attribute_map
89
+ {
90
+ :'merchant_scope' => :'merchant_scope',
91
+ :'account_ids' => :'account_ids',
92
+ :'business_ids' => :'business_ids',
93
+ :'card_ids' => :'card_ids',
94
+ :'show_by_merchant' => :'show_by_merchant',
95
+ :'show_by_period' => :'show_by_period',
96
+ :'only_cleansed' => :'only_cleansed',
97
+ :'frequency' => :'frequency',
98
+ :'end_date' => :'end_date',
99
+ :'as_of_date' => :'as_of_date',
100
+ :'transaction_category_scope' => :'transaction_category_scope',
101
+ :'start_date' => :'start_date',
102
+ :'card_status_scope' => :'card_status_scope',
103
+ :'only_active_clients' => :'only_active_clients',
104
+ :'lookback_periods' => :'lookback_periods',
105
+ :'frequency_unit' => :'frequency_unit',
106
+ :'household_ids' => :'household_ids',
107
+ :'aggregation_account_ids' => :'aggregation_account_ids',
108
+ :'currency_code' => :'currency_code',
109
+ :'client_ids' => :'client_ids',
110
+ :'scope' => :'scope',
111
+ :'currency_conversion' => :'currency_conversion',
112
+ :'transaction_status_scope' => :'transaction_status_scope',
113
+ :'show_by_category' => :'show_by_category'
114
+ }
115
+ end
116
+
117
+ # Attribute type mapping.
118
+ def self.swagger_types
119
+ {
120
+ :'merchant_scope' => :'Array<String>',
121
+ :'account_ids' => :'Array<String>',
122
+ :'business_ids' => :'Array<String>',
123
+ :'card_ids' => :'Array<String>',
124
+ :'show_by_merchant' => :'BOOLEAN',
125
+ :'show_by_period' => :'BOOLEAN',
126
+ :'only_cleansed' => :'BOOLEAN',
127
+ :'frequency' => :'Integer',
128
+ :'end_date' => :'Date',
129
+ :'as_of_date' => :'Date',
130
+ :'transaction_category_scope' => :'Array<String>',
131
+ :'start_date' => :'Date',
132
+ :'card_status_scope' => :'Array<String>',
133
+ :'only_active_clients' => :'BOOLEAN',
134
+ :'lookback_periods' => :'Integer',
135
+ :'frequency_unit' => :'String',
136
+ :'household_ids' => :'Array<String>',
137
+ :'aggregation_account_ids' => :'Array<String>',
138
+ :'currency_code' => :'String',
139
+ :'client_ids' => :'Array<String>',
140
+ :'scope' => :'String',
141
+ :'currency_conversion' => :'String',
142
+ :'transaction_status_scope' => :'Array<String>',
143
+ :'show_by_category' => :'BOOLEAN'
144
+ }
145
+ end
146
+
147
+ # Initializes the object
148
+ # @param [Hash] attributes Model attributes in the form of hash
149
+ def initialize(attributes = {})
150
+ return unless attributes.is_a?(Hash)
151
+
152
+ # convert string to symbol for hash key
153
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
154
+
155
+ if attributes.has_key?(:'merchant_scope')
156
+ if (value = attributes[:'merchant_scope']).is_a?(Array)
157
+ self.merchant_scope = value
158
+ end
159
+ end
160
+
161
+ if attributes.has_key?(:'account_ids')
162
+ if (value = attributes[:'account_ids']).is_a?(Array)
163
+ self.account_ids = value
164
+ end
165
+ end
166
+
167
+ if attributes.has_key?(:'business_ids')
168
+ if (value = attributes[:'business_ids']).is_a?(Array)
169
+ self.business_ids = value
170
+ end
171
+ end
172
+
173
+ if attributes.has_key?(:'card_ids')
174
+ if (value = attributes[:'card_ids']).is_a?(Array)
175
+ self.card_ids = value
176
+ end
177
+ end
178
+
179
+ if attributes.has_key?(:'show_by_merchant')
180
+ self.show_by_merchant = attributes[:'show_by_merchant']
181
+ else
182
+ self.show_by_merchant = false
183
+ end
184
+
185
+ if attributes.has_key?(:'show_by_period')
186
+ self.show_by_period = attributes[:'show_by_period']
187
+ else
188
+ self.show_by_period = false
189
+ end
190
+
191
+ if attributes.has_key?(:'only_cleansed')
192
+ self.only_cleansed = attributes[:'only_cleansed']
193
+ else
194
+ self.only_cleansed = false
195
+ end
196
+
197
+ if attributes.has_key?(:'frequency')
198
+ self.frequency = attributes[:'frequency']
199
+ else
200
+ self.frequency = 1
201
+ end
202
+
203
+ if attributes.has_key?(:'end_date')
204
+ self.end_date = attributes[:'end_date']
205
+ end
206
+
207
+ if attributes.has_key?(:'as_of_date')
208
+ self.as_of_date = attributes[:'as_of_date']
209
+ end
210
+
211
+ if attributes.has_key?(:'transaction_category_scope')
212
+ if (value = attributes[:'transaction_category_scope']).is_a?(Array)
213
+ self.transaction_category_scope = value
214
+ end
215
+ end
216
+
217
+ if attributes.has_key?(:'start_date')
218
+ self.start_date = attributes[:'start_date']
219
+ end
220
+
221
+ if attributes.has_key?(:'card_status_scope')
222
+ if (value = attributes[:'card_status_scope']).is_a?(Array)
223
+ self.card_status_scope = value
224
+ end
225
+ end
226
+
227
+ if attributes.has_key?(:'only_active_clients')
228
+ self.only_active_clients = attributes[:'only_active_clients']
229
+ else
230
+ self.only_active_clients = false
231
+ end
232
+
233
+ if attributes.has_key?(:'lookback_periods')
234
+ self.lookback_periods = attributes[:'lookback_periods']
235
+ else
236
+ self.lookback_periods = 0
237
+ end
238
+
239
+ if attributes.has_key?(:'frequency_unit')
240
+ self.frequency_unit = attributes[:'frequency_unit']
241
+ end
242
+
243
+ if attributes.has_key?(:'household_ids')
244
+ if (value = attributes[:'household_ids']).is_a?(Array)
245
+ self.household_ids = value
246
+ end
247
+ end
248
+
249
+ if attributes.has_key?(:'aggregation_account_ids')
250
+ if (value = attributes[:'aggregation_account_ids']).is_a?(Array)
251
+ self.aggregation_account_ids = value
252
+ end
253
+ end
254
+
255
+ if attributes.has_key?(:'currency_code')
256
+ self.currency_code = attributes[:'currency_code']
257
+ end
258
+
259
+ if attributes.has_key?(:'client_ids')
260
+ if (value = attributes[:'client_ids']).is_a?(Array)
261
+ self.client_ids = value
262
+ end
263
+ end
264
+
265
+ if attributes.has_key?(:'scope')
266
+ self.scope = attributes[:'scope']
267
+ else
268
+ self.scope = 'all'
269
+ end
270
+
271
+ if attributes.has_key?(:'currency_conversion')
272
+ self.currency_conversion = attributes[:'currency_conversion']
273
+ end
274
+
275
+ if attributes.has_key?(:'transaction_status_scope')
276
+ if (value = attributes[:'transaction_status_scope']).is_a?(Array)
277
+ self.transaction_status_scope = value
278
+ end
279
+ end
280
+
281
+ if attributes.has_key?(:'show_by_category')
282
+ self.show_by_category = attributes[:'show_by_category']
283
+ else
284
+ self.show_by_category = false
285
+ end
286
+ end
287
+
288
+ # Show invalid properties with the reasons. Usually used together with valid?
289
+ # @return Array for valid properties with the reasons
290
+ def list_invalid_properties
291
+ invalid_properties = Array.new
292
+ if !@frequency.nil? && @frequency < 1
293
+ invalid_properties.push('invalid value for "frequency", must be greater than or equal to 1.')
294
+ end
295
+
296
+ if !@lookback_periods.nil? && @lookback_periods < 0
297
+ invalid_properties.push('invalid value for "lookback_periods", must be greater than or equal to 0.')
298
+ end
299
+
300
+ if @frequency_unit.nil?
301
+ invalid_properties.push('invalid value for "frequency_unit", frequency_unit cannot be nil.')
302
+ end
303
+
304
+ invalid_properties
305
+ end
306
+
307
+ # Check to see if the all the properties in the model are valid
308
+ # @return true if the model is valid
309
+ def valid?
310
+ return false if !@frequency.nil? && @frequency < 1
311
+ return false if !@lookback_periods.nil? && @lookback_periods < 0
312
+ return false if @frequency_unit.nil?
313
+ frequency_unit_validator = EnumAttributeValidator.new('String', ['daily', 'weekly', 'bi-weekly', 'monthly', 'quarterly', 'annually'])
314
+ return false unless frequency_unit_validator.valid?(@frequency_unit)
315
+ scope_validator = EnumAttributeValidator.new('String', ['all', 'external', 'internal', 'cards'])
316
+ return false unless scope_validator.valid?(@scope)
317
+ true
318
+ end
319
+
320
+ # Custom attribute writer method with validation
321
+ # @param [Object] frequency Value to be assigned
322
+ def frequency=(frequency)
323
+ if !frequency.nil? && frequency < 1
324
+ fail ArgumentError, 'invalid value for "frequency", must be greater than or equal to 1.'
325
+ end
326
+
327
+ @frequency = frequency
328
+ end
329
+
330
+ # Custom attribute writer method with validation
331
+ # @param [Object] lookback_periods Value to be assigned
332
+ def lookback_periods=(lookback_periods)
333
+ if !lookback_periods.nil? && lookback_periods < 0
334
+ fail ArgumentError, 'invalid value for "lookback_periods", must be greater than or equal to 0.'
335
+ end
336
+
337
+ @lookback_periods = lookback_periods
338
+ end
339
+
340
+ # Custom attribute writer method checking allowed values (enum).
341
+ # @param [Object] frequency_unit Object to be assigned
342
+ def frequency_unit=(frequency_unit)
343
+ validator = EnumAttributeValidator.new('String', ['daily', 'weekly', 'bi-weekly', 'monthly', 'quarterly', 'annually'])
344
+ unless validator.valid?(frequency_unit)
345
+ fail ArgumentError, 'invalid value for "frequency_unit", must be one of #{validator.allowable_values}.'
346
+ end
347
+ @frequency_unit = frequency_unit
348
+ end
349
+
350
+ # Custom attribute writer method checking allowed values (enum).
351
+ # @param [Object] scope Object to be assigned
352
+ def scope=(scope)
353
+ validator = EnumAttributeValidator.new('String', ['all', 'external', 'internal', 'cards'])
354
+ unless validator.valid?(scope)
355
+ fail ArgumentError, 'invalid value for "scope", must be one of #{validator.allowable_values}.'
356
+ end
357
+ @scope = scope
358
+ end
359
+
360
+ # Checks equality by comparing each attribute.
361
+ # @param [Object] Object to be compared
362
+ def ==(o)
363
+ return true if self.equal?(o)
364
+ self.class == o.class &&
365
+ merchant_scope == o.merchant_scope &&
366
+ account_ids == o.account_ids &&
367
+ business_ids == o.business_ids &&
368
+ card_ids == o.card_ids &&
369
+ show_by_merchant == o.show_by_merchant &&
370
+ show_by_period == o.show_by_period &&
371
+ only_cleansed == o.only_cleansed &&
372
+ frequency == o.frequency &&
373
+ end_date == o.end_date &&
374
+ as_of_date == o.as_of_date &&
375
+ transaction_category_scope == o.transaction_category_scope &&
376
+ start_date == o.start_date &&
377
+ card_status_scope == o.card_status_scope &&
378
+ only_active_clients == o.only_active_clients &&
379
+ lookback_periods == o.lookback_periods &&
380
+ frequency_unit == o.frequency_unit &&
381
+ household_ids == o.household_ids &&
382
+ aggregation_account_ids == o.aggregation_account_ids &&
383
+ currency_code == o.currency_code &&
384
+ client_ids == o.client_ids &&
385
+ scope == o.scope &&
386
+ currency_conversion == o.currency_conversion &&
387
+ transaction_status_scope == o.transaction_status_scope &&
388
+ show_by_category == o.show_by_category
389
+ end
390
+
391
+ # @see the `==` method
392
+ # @param [Object] Object to be compared
393
+ def eql?(o)
394
+ self == o
395
+ end
396
+
397
+ # Calculates hash code according to all attributes.
398
+ # @return [Fixnum] Hash code
399
+ def hash
400
+ [merchant_scope, account_ids, business_ids, card_ids, show_by_merchant, show_by_period, only_cleansed, frequency, end_date, as_of_date, transaction_category_scope, start_date, card_status_scope, only_active_clients, lookback_periods, frequency_unit, household_ids, aggregation_account_ids, currency_code, client_ids, scope, currency_conversion, transaction_status_scope, show_by_category].hash
401
+ end
402
+
403
+ # Builds the object from hash
404
+ # @param [Hash] attributes Model attributes in the form of hash
405
+ # @return [Object] Returns the model itself
406
+ def build_from_hash(attributes)
407
+ return nil unless attributes.is_a?(Hash)
408
+ self.class.swagger_types.each_pair do |key, type|
409
+ if type =~ /\AArray<(.*)>/i
410
+ # check to ensure the input is an array given that the attribute
411
+ # is documented as an array but the input is not
412
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
413
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
414
+ end
415
+ elsif !attributes[self.class.attribute_map[key]].nil?
416
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
417
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
418
+ end
419
+
420
+ self
421
+ end
422
+ # Deserializes the data based on type
423
+ # @param string type Data type
424
+ # @param string value Value to be deserialized
425
+ # @return [Object] Deserialized data
426
+ def _deserialize(type, value)
427
+ case type.to_sym
428
+ when :DateTime
429
+ value
430
+ when :Date
431
+ value
432
+ when :String
433
+ value.to_s
434
+ when :Integer
435
+ value.to_i
436
+ when :Float
437
+ value.to_f
438
+ when :BOOLEAN
439
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
440
+ true
441
+ else
442
+ false
443
+ end
444
+ when :Object
445
+ # generic object (usually a Hash), return directly
446
+ value
447
+ when /\AArray<(?<inner_type>.+)>\z/
448
+ inner_type = Regexp.last_match[:inner_type]
449
+ value.map { |v| _deserialize(inner_type, v) }
450
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
451
+ k_type = Regexp.last_match[:k_type]
452
+ v_type = Regexp.last_match[:v_type]
453
+ {}.tap do |hash|
454
+ value.each do |k, v|
455
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
456
+ end
457
+ end
458
+ else # model
459
+ temp_model = ProtonApi.const_get(type).new
460
+ temp_model.build_from_hash(value)
461
+ end
462
+ end
463
+ # Returns the string representation of the object
464
+ # @return [String] String presentation of the object
465
+ def to_s
466
+ to_hash.to_s
467
+ end
468
+
469
+ # to_body is an alias to to_hash (backward compatibility)
470
+ # @return [Hash] Returns the object in the form of hash
471
+ def to_body
472
+ to_hash
473
+ end
474
+
475
+ # Returns the object in the form of hash
476
+ # @return [Hash] Returns the object in the form of hash
477
+ def to_hash
478
+ hash = {}
479
+ self.class.attribute_map.each_pair do |attr, param|
480
+ value = self.send(attr)
481
+ next if value.nil?
482
+ hash[param] = _to_hash(value)
483
+ end
484
+ hash
485
+ end
486
+ # Outputs non-array value in the form of hash
487
+ # For object, use to_hash. Otherwise, just return the value
488
+ # @param [Object] value Any valid value
489
+ # @return [Hash] Returns the value in the form of hash
490
+ def _to_hash(value)
491
+ if value.is_a?(Array)
492
+ value.compact.map { |v| _to_hash(v) }
493
+ elsif value.is_a?(Hash)
494
+ {}.tap do |hash|
495
+ value.each { |k, v| hash[k] = _to_hash(v) }
496
+ end
497
+ elsif value.respond_to? :to_hash
498
+ value.to_hash
499
+ else
500
+ value
501
+ end
502
+ end
503
+
504
+ end
505
+ end