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.
- checksums.yaml +4 -4
- data/README.md +35 -205
- data/lib/proton_api.rb +10 -2
- data/lib/proton_api/api/annuities_api.rb +2 -2
- data/lib/proton_api/api/business_financial_management_api.rb +2 -2
- data/lib/proton_api/api/cards_api.rb +56 -2
- data/lib/proton_api/api/financial_health_api.rb +2 -2
- data/lib/proton_api/api/financial_planning_api.rb +2 -2
- data/lib/proton_api/api/goals_api.rb +2 -2
- data/lib/proton_api/api/life_insurance_api.rb +2 -2
- data/lib/proton_api/api/personal_financial_management_api.rb +56 -2
- data/lib/proton_api/api/portfolio_construction_api.rb +2 -2
- data/lib/proton_api/api/portfolio_management_api.rb +2 -2
- data/lib/proton_api/api/risk_scoring_api.rb +2 -2
- data/lib/proton_api/api/simulations_api.rb +2 -2
- data/lib/proton_api/api/util_api.rb +185 -0
- data/lib/proton_api/api_client.rb +6 -6
- data/lib/proton_api/api_error.rb +2 -2
- data/lib/proton_api/configuration.rb +3 -3
- data/lib/proton_api/models/accumulation_goal_deposit_config.rb +25 -25
- data/lib/proton_api/models/annuity_calculator_accumulation_horizon_request.rb +138 -141
- data/lib/proton_api/models/annuity_calculator_annuity_amount_request.rb +129 -132
- data/lib/proton_api/models/annuity_calculator_decumulation_horizon_request.rb +138 -141
- data/lib/proton_api/models/annuity_calculator_deposit_amount_request.rb +138 -141
- data/lib/proton_api/models/annuity_calculator_initial_balance_request.rb +138 -141
- data/lib/proton_api/models/annuity_deposit_schedule.rb +33 -36
- data/lib/proton_api/models/answer.rb +186 -0
- data/lib/proton_api/models/backtest_request.rb +56 -59
- data/lib/proton_api/models/beneficiary_bequest_config.rb +32 -35
- data/lib/proton_api/models/budget_aggregation_account.rb +7 -10
- data/lib/proton_api/models/budget_calculator_request.rb +85 -66
- data/lib/proton_api/models/budget_component.rb +25 -28
- data/lib/proton_api/models/budget_details.rb +75 -78
- data/lib/proton_api/models/business_financial_health_check_request.rb +172 -166
- data/lib/proton_api/models/business_invoice_analysis_request.rb +79 -73
- data/lib/proton_api/models/calculator_deposit_schedule.rb +22 -25
- data/lib/proton_api/models/calculator_deposit_schedule1.rb +33 -36
- data/lib/proton_api/models/card_analysis_request.rb +372 -0
- data/lib/proton_api/models/card_limit_check_request.rb +42 -14
- data/lib/proton_api/models/card_transaction_authorization_request.rb +143 -80
- data/lib/proton_api/models/cash_analysis_request.rb +82 -63
- data/lib/proton_api/models/cash_flow_analysis_request.rb +104 -76
- data/lib/proton_api/models/children_education_config.rb +7 -10
- data/lib/proton_api/models/customer_analysis_request.rb +60 -54
- data/lib/proton_api/models/decision_tree_result_request.rb +236 -0
- data/lib/proton_api/models/decumulation_goal_deposit_config.rb +28 -31
- data/lib/proton_api/models/dimensional_risk_score_request.rb +52 -55
- data/lib/proton_api/models/diversification_score_request.rb +59 -62
- data/lib/proton_api/models/education_calculator_annual_cost_request.rb +143 -146
- data/lib/proton_api/models/education_calculator_deposit_amount_request.rb +170 -173
- data/lib/proton_api/models/education_calculator_percent_covered_request.rb +136 -139
- data/lib/proton_api/models/education_config.rb +44 -47
- data/lib/proton_api/models/emergency_fund_calculator_request.rb +182 -185
- data/lib/proton_api/models/event_study_request.rb +64 -67
- data/lib/proton_api/models/fee_analysis_request.rb +42 -34
- data/lib/proton_api/models/financial_health_check_request.rb +109 -112
- data/lib/proton_api/models/financial_picture_request.rb +53 -52
- data/lib/proton_api/models/financial_statement_analysis_request.rb +140 -134
- data/lib/proton_api/models/goal_accumulation_allocation_request.rb +271 -274
- data/lib/proton_api/models/goal_accumulation_recommendation_request.rb +218 -221
- data/lib/proton_api/models/goal_accumulation_status_request.rb +218 -221
- data/lib/proton_api/models/goal_config.rb +35 -38
- data/lib/proton_api/models/goal_decumulation_allocation_request.rb +293 -296
- data/lib/proton_api/models/goal_decumulation_recommendation_request.rb +242 -245
- data/lib/proton_api/models/goal_decumulation_status_request.rb +242 -245
- data/lib/proton_api/models/goal_withdrawal_config.rb +82 -85
- data/lib/proton_api/models/guaranteed_rate_benefit.rb +51 -54
- data/lib/proton_api/models/income_config.rb +37 -40
- data/lib/proton_api/models/life_insurance_needs_calculator_request.rb +152 -155
- data/lib/proton_api/models/location.rb +183 -0
- data/lib/proton_api/models/monte_carlo_request.rb +157 -160
- data/lib/proton_api/models/mortgage_calculator_down_payment_request.rb +46 -49
- data/lib/proton_api/models/mortgage_calculator_home_price_request.rb +46 -49
- data/lib/proton_api/models/mortgage_calculator_periodic_payment_request.rb +71 -74
- data/lib/proton_api/models/mvo_request.rb +88 -91
- data/lib/proton_api/models/opt_config.rb +54 -57
- data/lib/proton_api/models/opt_config1.rb +29 -32
- data/lib/proton_api/models/order_rebalance_request.rb +398 -0
- data/lib/proton_api/models/performance_calculator_request.rb +687 -0
- data/lib/proton_api/models/periods.rb +7 -10
- data/lib/proton_api/models/portfolio_optimization_score_request.rb +68 -71
- data/lib/proton_api/models/portfolio_what_if_request.rb +71 -74
- data/lib/proton_api/models/purchase_calculator_amount_request.rb +112 -115
- data/lib/proton_api/models/purchase_calculator_deposit_amount_request.rb +136 -139
- data/lib/proton_api/models/purchase_calculator_horizon_request.rb +100 -103
- data/lib/proton_api/models/ratio_targets.rb +79 -82
- data/lib/proton_api/models/ratio_targets1.rb +38 -41
- data/lib/proton_api/models/rebalancing_signal_request.rb +26 -29
- data/lib/proton_api/models/recommendation_config.rb +104 -107
- data/lib/proton_api/models/recommendation_config1.rb +100 -103
- data/lib/proton_api/models/recurring_transaction_analysis_request.rb +106 -76
- data/lib/proton_api/models/retirement_calculator_deposit_amount_request.rb +148 -151
- data/lib/proton_api/models/retirement_calculator_expenses_request.rb +119 -122
- data/lib/proton_api/models/retirement_calculator_percent_covered_request.rb +132 -135
- data/lib/proton_api/models/risk_allocation_request.rb +53 -56
- data/lib/proton_api/models/risk_score_request.rb +37 -40
- data/lib/proton_api/models/savings_calculator_request.rb +100 -103
- data/lib/proton_api/models/savings_deposit_schedule.rb +22 -25
- data/lib/proton_api/models/scenario_analysis_request.rb +81 -84
- data/lib/proton_api/models/sensitivity_analysis_request.rb +77 -80
- data/lib/proton_api/models/sensitivity_factor.rb +58 -61
- data/lib/proton_api/models/settings.rb +38 -41
- data/lib/proton_api/models/spending_analysis_request.rb +505 -0
- data/lib/proton_api/models/variable_annuity_request.rb +284 -287
- data/lib/proton_api/models/w_config.rb +77 -80
- data/lib/proton_api/models/w_config1.rb +66 -69
- data/lib/proton_api/version.rb +3 -3
- data/proton_api.gemspec +2 -2
- data/spec/api/annuities_api_spec.rb +2 -2
- data/spec/api/business_financial_management_api_spec.rb +2 -2
- data/spec/api/cards_api_spec.rb +14 -2
- data/spec/api/financial_health_api_spec.rb +2 -2
- data/spec/api/financial_planning_api_spec.rb +2 -2
- data/spec/api/goals_api_spec.rb +2 -2
- data/spec/api/life_insurance_api_spec.rb +2 -2
- data/spec/api/personal_financial_management_api_spec.rb +14 -2
- data/spec/api/portfolio_construction_api_spec.rb +2 -2
- data/spec/api/portfolio_management_api_spec.rb +2 -2
- data/spec/api/risk_scoring_api_spec.rb +2 -2
- data/spec/api/simulations_api_spec.rb +2 -2
- data/spec/api/util_api_spec.rb +71 -0
- data/spec/api_client_spec.rb +2 -2
- data/spec/configuration_spec.rb +5 -5
- data/spec/models/accumulation_goal_deposit_config_spec.rb +10 -10
- data/spec/models/annuity_calculator_accumulation_horizon_request_spec.rb +17 -17
- data/spec/models/annuity_calculator_annuity_amount_request_spec.rb +17 -17
- data/spec/models/annuity_calculator_decumulation_horizon_request_spec.rb +17 -17
- data/spec/models/annuity_calculator_deposit_amount_request_spec.rb +17 -17
- data/spec/models/annuity_calculator_initial_balance_request_spec.rb +17 -17
- data/spec/models/annuity_deposit_schedule_spec.rb +4 -4
- data/spec/models/answer_spec.rb +41 -0
- data/spec/models/backtest_request_spec.rb +10 -10
- data/spec/models/beneficiary_bequest_config_spec.rb +4 -4
- data/spec/models/budget_aggregation_account_spec.rb +2 -2
- data/spec/models/budget_calculator_request_spec.rb +25 -13
- data/spec/models/budget_component_spec.rb +4 -4
- data/spec/models/budget_details_spec.rb +15 -15
- data/spec/models/business_financial_health_check_request_spec.rb +34 -28
- data/spec/models/business_invoice_analysis_request_spec.rb +18 -12
- data/spec/models/calculator_deposit_schedule1_spec.rb +4 -4
- data/spec/models/calculator_deposit_schedule_spec.rb +8 -8
- data/spec/models/card_analysis_request_spec.rb +129 -0
- data/spec/models/card_limit_check_request_spec.rb +20 -2
- data/spec/models/card_transaction_authorization_request_spec.rb +57 -15
- data/spec/models/cash_analysis_request_spec.rb +25 -13
- data/spec/models/cash_flow_analysis_request_spec.rb +34 -16
- data/spec/models/children_education_config_spec.rb +2 -2
- data/spec/models/customer_analysis_request_spec.rb +15 -9
- data/spec/models/decision_tree_result_request_spec.rb +51 -0
- data/spec/models/decumulation_goal_deposit_config_spec.rb +10 -10
- data/spec/models/dimensional_risk_score_request_spec.rb +8 -8
- data/spec/models/diversification_score_request_spec.rb +14 -14
- data/spec/models/education_calculator_annual_cost_request_spec.rb +13 -13
- data/spec/models/education_calculator_deposit_amount_request_spec.rb +13 -13
- data/spec/models/education_calculator_percent_covered_request_spec.rb +12 -12
- data/spec/models/education_config_spec.rb +5 -5
- data/spec/models/emergency_fund_calculator_request_spec.rb +23 -23
- data/spec/models/event_study_request_spec.rb +17 -17
- data/spec/models/fee_analysis_request_spec.rb +12 -6
- data/spec/models/financial_health_check_request_spec.rb +12 -12
- data/spec/models/financial_picture_request_spec.rb +15 -9
- data/spec/models/financial_statement_analysis_request_spec.rb +39 -33
- data/spec/models/goal_accumulation_allocation_request_spec.rb +48 -48
- data/spec/models/goal_accumulation_recommendation_request_spec.rb +34 -34
- data/spec/models/goal_accumulation_status_request_spec.rb +34 -34
- data/spec/models/goal_config_spec.rb +4 -4
- data/spec/models/goal_decumulation_allocation_request_spec.rb +51 -51
- data/spec/models/goal_decumulation_recommendation_request_spec.rb +35 -35
- data/spec/models/goal_decumulation_status_request_spec.rb +35 -35
- data/spec/models/goal_withdrawal_config_spec.rb +20 -20
- data/spec/models/guaranteed_rate_benefit_spec.rb +5 -5
- data/spec/models/income_config_spec.rb +4 -4
- data/spec/models/life_insurance_needs_calculator_request_spec.rb +16 -16
- data/spec/models/location_spec.rb +41 -0
- data/spec/models/monte_carlo_request_spec.rb +31 -31
- data/spec/models/mortgage_calculator_down_payment_request_spec.rb +6 -6
- data/spec/models/mortgage_calculator_home_price_request_spec.rb +6 -6
- data/spec/models/mortgage_calculator_periodic_payment_request_spec.rb +6 -6
- data/spec/models/mvo_request_spec.rb +23 -23
- data/spec/models/opt_config1_spec.rb +10 -10
- data/spec/models/opt_config_spec.rb +13 -13
- data/spec/models/order_rebalance_request_spec.rb +123 -0
- data/spec/models/performance_calculator_request_spec.rb +233 -0
- data/spec/models/periods_spec.rb +2 -2
- data/spec/models/portfolio_optimization_score_request_spec.rb +16 -16
- data/spec/models/portfolio_what_if_request_spec.rb +16 -16
- data/spec/models/purchase_calculator_amount_request_spec.rb +14 -14
- data/spec/models/purchase_calculator_deposit_amount_request_spec.rb +16 -16
- data/spec/models/purchase_calculator_horizon_request_spec.rb +10 -10
- data/spec/models/ratio_targets1_spec.rb +4 -4
- data/spec/models/ratio_targets_spec.rb +8 -8
- data/spec/models/rebalancing_signal_request_spec.rb +6 -6
- data/spec/models/recommendation_config1_spec.rb +9 -9
- data/spec/models/recommendation_config_spec.rb +9 -9
- data/spec/models/recurring_transaction_analysis_request_spec.rb +33 -15
- data/spec/models/retirement_calculator_deposit_amount_request_spec.rb +13 -13
- data/spec/models/retirement_calculator_expenses_request_spec.rb +12 -12
- data/spec/models/retirement_calculator_percent_covered_request_spec.rb +12 -12
- data/spec/models/risk_allocation_request_spec.rb +15 -15
- data/spec/models/risk_score_request_spec.rb +8 -8
- data/spec/models/savings_calculator_request_spec.rb +16 -16
- data/spec/models/savings_deposit_schedule_spec.rb +8 -8
- data/spec/models/scenario_analysis_request_spec.rb +19 -19
- data/spec/models/sensitivity_analysis_request_spec.rb +23 -23
- data/spec/models/sensitivity_factor_spec.rb +6 -6
- data/spec/models/settings_spec.rb +13 -13
- data/spec/models/spending_analysis_request_spec.rb +187 -0
- data/spec/models/variable_annuity_request_spec.rb +40 -40
- data/spec/models/w_config1_spec.rb +6 -6
- data/spec/models/w_config_spec.rb +7 -7
- data/spec/spec_helper.rb +2 -2
- metadata +26 -94
- data/docs/AccumulationGoalDepositConfig.md +0 -14
- data/docs/AnnuitiesApi.md +0 -344
- data/docs/AnnuityCalculatorAccumulationHorizonRequest.md +0 -19
- data/docs/AnnuityCalculatorAnnuityAmountRequest.md +0 -19
- data/docs/AnnuityCalculatorDecumulationHorizonRequest.md +0 -19
- data/docs/AnnuityCalculatorDepositAmountRequest.md +0 -19
- data/docs/AnnuityCalculatorInitialBalanceRequest.md +0 -19
- data/docs/AnnuityDepositSchedule.md +0 -10
- data/docs/BacktestRequest.md +0 -17
- data/docs/BeneficiaryBequestConfig.md +0 -10
- data/docs/BudgetAggregationAccount.md +0 -8
- data/docs/BudgetCalculatorRequest.md +0 -16
- data/docs/BudgetComponent.md +0 -10
- data/docs/BudgetDetails.md +0 -17
- data/docs/BusinessFinancialHealthCheckRequest.md +0 -22
- data/docs/BusinessFinancialManagementApi.md +0 -288
- data/docs/BusinessInvoiceAnalysisRequest.md +0 -20
- data/docs/CalculatorDepositSchedule.md +0 -9
- data/docs/CalculatorDepositSchedule1.md +0 -10
- data/docs/CardLimitCheckRequest.md +0 -9
- data/docs/CardTransactionAuthorizationRequest.md +0 -19
- data/docs/CardsApi.md +0 -120
- data/docs/CashAnalysisRequest.md +0 -17
- data/docs/CashFlowAnalysisRequest.md +0 -20
- data/docs/ChildrenEducationConfig.md +0 -9
- data/docs/CustomerAnalysisRequest.md +0 -17
- data/docs/DecumulationGoalDepositConfig.md +0 -14
- data/docs/DimensionalRiskScoreRequest.md +0 -16
- data/docs/DiversificationScoreRequest.md +0 -19
- data/docs/EducationCalculatorAnnualCostRequest.md +0 -18
- data/docs/EducationCalculatorDepositAmountRequest.md +0 -19
- data/docs/EducationCalculatorPercentCoveredRequest.md +0 -18
- data/docs/EducationConfig.md +0 -10
- data/docs/EmergencyFundCalculatorRequest.md +0 -24
- data/docs/EventStudyRequest.md +0 -18
- data/docs/FeeAnalysisRequest.md +0 -13
- data/docs/FinancialHealthApi.md +0 -232
- data/docs/FinancialHealthCheckRequest.md +0 -17
- data/docs/FinancialPictureRequest.md +0 -16
- data/docs/FinancialPlanningApi.md +0 -680
- data/docs/FinancialStatementAnalysisRequest.md +0 -22
- data/docs/GoalAccumulationAllocationRequest.md +0 -33
- data/docs/GoalAccumulationRecommendationRequest.md +0 -28
- data/docs/GoalAccumulationStatusRequest.md +0 -28
- data/docs/GoalConfig.md +0 -9
- data/docs/GoalDecumulationAllocationRequest.md +0 -34
- data/docs/GoalDecumulationRecommendationRequest.md +0 -29
- data/docs/GoalDecumulationStatusRequest.md +0 -29
- data/docs/GoalWithdrawalConfig.md +0 -14
- data/docs/GoalsApi.md +0 -344
- data/docs/GuaranteedRateBenefit.md +0 -11
- data/docs/IncomeConfig.md +0 -10
- data/docs/LifeInsuranceApi.md +0 -64
- data/docs/LifeInsuranceNeedsCalculatorRequest.md +0 -22
- data/docs/MonteCarloRequest.md +0 -29
- data/docs/MortgageCalculatorDownPaymentRequest.md +0 -11
- data/docs/MortgageCalculatorHomePriceRequest.md +0 -11
- data/docs/MortgageCalculatorPeriodicPaymentRequest.md +0 -11
- data/docs/MvoRequest.md +0 -18
- data/docs/OptConfig.md +0 -14
- data/docs/OptConfig1.md +0 -12
- data/docs/Periods.md +0 -9
- data/docs/PersonalFinancialManagementApi.md +0 -288
- data/docs/PortfolioConstructionApi.md +0 -64
- data/docs/PortfolioManagementApi.md +0 -64
- data/docs/PortfolioOptimizationScoreRequest.md +0 -21
- data/docs/PortfolioWhatIfRequest.md +0 -21
- data/docs/PurchaseCalculatorAmountRequest.md +0 -16
- data/docs/PurchaseCalculatorDepositAmountRequest.md +0 -17
- data/docs/PurchaseCalculatorHorizonRequest.md +0 -15
- data/docs/RatioTargets.md +0 -13
- data/docs/RatioTargets1.md +0 -13
- data/docs/RebalancingSignalRequest.md +0 -13
- data/docs/RecommendationConfig.md +0 -15
- data/docs/RecommendationConfig1.md +0 -14
- data/docs/RecurringTransactionAnalysisRequest.md +0 -19
- data/docs/RetirementCalculatorDepositAmountRequest.md +0 -20
- data/docs/RetirementCalculatorExpensesRequest.md +0 -19
- data/docs/RetirementCalculatorPercentCoveredRequest.md +0 -19
- data/docs/RiskAllocationRequest.md +0 -14
- data/docs/RiskScoreRequest.md +0 -13
- data/docs/RiskScoringApi.md +0 -176
- data/docs/SavingsCalculatorRequest.md +0 -17
- data/docs/SavingsDepositSchedule.md +0 -11
- data/docs/ScenarioAnalysisRequest.md +0 -22
- data/docs/SensitivityAnalysisRequest.md +0 -22
- data/docs/SensitivityFactor.md +0 -11
- data/docs/Settings.md +0 -13
- data/docs/SimulationsApi.md +0 -400
- data/docs/VariableAnnuityRequest.md +0 -34
- data/docs/WConfig.md +0 -12
- 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.
|
|
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.
|
|
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 :
|
|
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
|
-
:'
|
|
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
|
-
:'
|
|
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?(:'
|
|
92
|
-
self.
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
211
|
+
value
|
|
213
212
|
when :Date
|
|
214
|
-
|
|
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
|