ynab 3.9.0 → 4.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/Gemfile +1 -0
- data/Gemfile.lock +3 -1
- data/README.md +47 -39
- data/Rakefile +1 -1
- data/docs/Account.md +3 -3
- data/docs/AccountsApi.md +12 -12
- data/docs/CategoriesApi.md +89 -25
- data/docs/Category.md +4 -3
- data/docs/CategoryGroupWithCategories.md +1 -1
- data/docs/ExistingCategory.md +12 -0
- data/docs/MoneyMovement.md +16 -0
- data/docs/MoneyMovementGroup.md +12 -0
- data/docs/MoneyMovementGroupsResponse.md +8 -0
- data/docs/MoneyMovementGroupsResponseData.md +9 -0
- data/docs/MoneyMovementsApi.md +89 -0
- data/docs/{BudgetSettingsResponse.md → MoneyMovementsResponse.md} +2 -2
- data/docs/MoneyMovementsResponseData.md +9 -0
- data/docs/MonthDetail.md +2 -2
- data/docs/MonthSummary.md +1 -1
- data/docs/MonthsApi.md +13 -13
- data/docs/NewCategory.md +12 -0
- data/docs/PatchCategoryGroupWrapper.md +8 -0
- data/docs/PatchCategoryWrapper.md +1 -1
- data/docs/PayeeLocationsApi.md +12 -12
- data/docs/PayeesApi.md +11 -11
- data/docs/{BudgetDetail.md → PlanDetail.md} +4 -4
- data/docs/PlanDetailResponse.md +8 -0
- data/docs/{BudgetDetailResponseData.md → PlanDetailResponseData.md} +2 -2
- data/docs/{BudgetSettings.md → PlanSettings.md} +1 -1
- data/docs/{BudgetDetailResponse.md → PlanSettingsResponse.md} +2 -2
- data/docs/PlanSettingsResponseData.md +8 -0
- data/docs/PlanSummary.md +15 -0
- data/docs/PlanSummaryResponse.md +8 -0
- data/docs/PlanSummaryResponseData.md +9 -0
- data/docs/PlansApi.md +68 -0
- data/docs/PostCategoryGroupWrapper.md +8 -0
- data/docs/PostCategoryWrapper.md +8 -0
- data/docs/SaveCategory.md +2 -1
- data/docs/SaveCategoryGroup.md +8 -0
- data/docs/SaveCategoryGroupResponse.md +8 -0
- data/docs/SaveCategoryGroupResponseData.md +9 -0
- data/docs/SaveMonthCategory.md +1 -1
- data/docs/ScheduledTransactionsApi.md +20 -20
- data/docs/TransactionsApi.md +48 -48
- data/docs/UserApi.md +2 -2
- data/examples/category-balance.rb +2 -2
- data/examples/create-multiple-transactions.rb +2 -2
- data/examples/create-transaction.rb +2 -2
- data/examples/{budget-list.rb → plan-list.rb} +6 -6
- data/examples/{budget-month.rb → plan-month.rb} +9 -10
- data/examples/update-category-budgeted.rb +2 -2
- data/examples/update-multiple-transactions.rb +3 -3
- data/lib/ynab/api/accounts_api.rb +33 -34
- data/lib/ynab/api/categories_api.rb +293 -66
- data/lib/ynab/api/deprecated_api.rb +11 -11
- data/lib/ynab/api/money_movements_api.rb +282 -0
- data/lib/ynab/api/months_api.rb +35 -36
- data/lib/ynab/api/payee_locations_api.rb +33 -34
- data/lib/ynab/api/payees_api.rb +31 -32
- data/lib/ynab/api/{budgets_api.rb → plans_api.rb} +54 -55
- data/lib/ynab/api/scheduled_transactions_api.rb +55 -56
- data/lib/ynab/api/transactions_api.rb +130 -131
- data/lib/ynab/api/user_api.rb +2 -3
- data/lib/ynab/api_client.rb +0 -2
- data/lib/ynab/api_model_base.rb +85 -0
- data/lib/ynab/models/account.rb +4 -81
- data/lib/ynab/models/account_response.rb +1 -75
- data/lib/ynab/models/account_response_data.rb +1 -75
- data/lib/ynab/models/accounts_response.rb +1 -75
- data/lib/ynab/models/accounts_response_data.rb +1 -75
- data/lib/ynab/models/bulk_response.rb +1 -75
- data/lib/ynab/models/bulk_response_data.rb +1 -75
- data/lib/ynab/models/bulk_response_data_bulk.rb +1 -75
- data/lib/ynab/models/bulk_transactions.rb +1 -75
- data/lib/ynab/models/categories_response.rb +1 -75
- data/lib/ynab/models/categories_response_data.rb +1 -75
- data/lib/ynab/models/category.rb +16 -79
- data/lib/ynab/models/category_group.rb +1 -75
- data/lib/ynab/models/category_group_with_categories.rb +2 -76
- data/lib/ynab/models/category_response.rb +1 -75
- data/lib/ynab/models/category_response_data.rb +1 -75
- data/lib/ynab/models/currency_format.rb +2 -76
- data/lib/ynab/models/date_format.rb +2 -76
- data/lib/ynab/models/error_detail.rb +1 -75
- data/lib/ynab/models/error_response.rb +1 -75
- data/lib/ynab/models/existing_category.rb +180 -0
- data/lib/ynab/models/existing_transaction.rb +1 -79
- data/lib/ynab/models/hybrid_transaction.rb +1 -85
- data/lib/ynab/models/hybrid_transactions_response.rb +1 -75
- data/lib/ynab/models/hybrid_transactions_response_data.rb +1 -75
- data/lib/ynab/models/money_movement.rb +223 -0
- data/lib/ynab/models/money_movement_group.rb +179 -0
- data/lib/ynab/models/{budget_summary_response.rb → money_movement_groups_response.rb} +4 -78
- data/lib/ynab/models/money_movement_groups_response_data.rb +149 -0
- data/lib/ynab/models/{budget_settings_response.rb → money_movements_response.rb} +4 -78
- data/lib/ynab/models/money_movements_response_data.rb +149 -0
- data/lib/ynab/models/month_detail.rb +3 -79
- data/lib/ynab/models/month_detail_response.rb +1 -75
- data/lib/ynab/models/month_detail_response_data.rb +1 -75
- data/lib/ynab/models/month_summaries_response.rb +1 -75
- data/lib/ynab/models/month_summaries_response_data.rb +1 -75
- data/lib/ynab/models/month_summary.rb +2 -76
- data/lib/ynab/models/new_category.rb +180 -0
- data/lib/ynab/models/new_transaction.rb +1 -79
- data/lib/ynab/models/patch_category_group_wrapper.rb +136 -0
- data/lib/ynab/models/patch_category_wrapper.rb +2 -76
- data/lib/ynab/models/patch_month_category_wrapper.rb +1 -75
- data/lib/ynab/models/patch_payee_wrapper.rb +1 -75
- data/lib/ynab/models/patch_transactions_wrapper.rb +1 -75
- data/lib/ynab/models/payee.rb +1 -75
- data/lib/ynab/models/payee_location.rb +1 -75
- data/lib/ynab/models/payee_location_response.rb +1 -75
- data/lib/ynab/models/payee_location_response_data.rb +1 -75
- data/lib/ynab/models/payee_locations_response.rb +1 -75
- data/lib/ynab/models/payee_locations_response_data.rb +1 -75
- data/lib/ynab/models/payee_response.rb +1 -75
- data/lib/ynab/models/payee_response_data.rb +1 -75
- data/lib/ynab/models/payees_response.rb +1 -75
- data/lib/ynab/models/payees_response_data.rb +1 -75
- data/lib/ynab/models/{budget_detail.rb → plan_detail.rb} +7 -83
- data/lib/ynab/models/plan_detail_response.rb +136 -0
- data/lib/ynab/models/{budget_detail_response_data.rb → plan_detail_response_data.rb} +4 -78
- data/lib/ynab/models/{budget_settings.rb → plan_settings.rb} +5 -79
- data/lib/ynab/models/{budget_detail_response.rb → plan_settings_response.rb} +4 -78
- data/lib/ynab/models/{budget_settings_response_data.rb → plan_settings_response_data.rb} +4 -78
- data/lib/ynab/models/{budget_summary.rb → plan_summary.rb} +7 -83
- data/lib/ynab/models/plan_summary_response.rb +136 -0
- data/lib/ynab/models/{budget_summary_response_data.rb → plan_summary_response_data.rb} +5 -79
- data/lib/ynab/models/post_account_wrapper.rb +1 -75
- data/lib/ynab/models/post_category_group_wrapper.rb +136 -0
- data/lib/ynab/models/post_category_wrapper.rb +136 -0
- data/lib/ynab/models/post_scheduled_transaction_wrapper.rb +1 -75
- data/lib/ynab/models/post_transactions_wrapper.rb +1 -75
- data/lib/ynab/models/put_scheduled_transaction_wrapper.rb +1 -75
- data/lib/ynab/models/put_transaction_wrapper.rb +1 -75
- data/lib/ynab/models/save_account.rb +1 -75
- data/lib/ynab/models/save_category.rb +18 -81
- data/lib/ynab/models/save_category_group.rb +148 -0
- data/lib/ynab/models/save_category_group_response.rb +136 -0
- data/lib/ynab/models/save_category_group_response_data.rb +147 -0
- data/lib/ynab/models/save_category_response.rb +1 -75
- data/lib/ynab/models/save_category_response_data.rb +1 -75
- data/lib/ynab/models/save_month_category.rb +2 -76
- data/lib/ynab/models/save_payee.rb +1 -75
- data/lib/ynab/models/save_payee_response.rb +1 -75
- data/lib/ynab/models/save_payee_response_data.rb +1 -75
- data/lib/ynab/models/save_scheduled_transaction.rb +1 -75
- data/lib/ynab/models/save_sub_transaction.rb +1 -75
- data/lib/ynab/models/save_transaction_with_id_or_import_id.rb +1 -79
- data/lib/ynab/models/save_transaction_with_optional_fields.rb +1 -75
- data/lib/ynab/models/save_transactions_response.rb +1 -75
- data/lib/ynab/models/save_transactions_response_data.rb +1 -75
- data/lib/ynab/models/scheduled_sub_transaction.rb +1 -75
- data/lib/ynab/models/scheduled_transaction_detail.rb +1 -80
- data/lib/ynab/models/scheduled_transaction_response.rb +1 -75
- data/lib/ynab/models/scheduled_transaction_response_data.rb +1 -75
- data/lib/ynab/models/scheduled_transaction_summary.rb +1 -75
- data/lib/ynab/models/scheduled_transactions_response.rb +1 -75
- data/lib/ynab/models/scheduled_transactions_response_data.rb +1 -75
- data/lib/ynab/models/sub_transaction.rb +1 -75
- data/lib/ynab/models/transaction_detail.rb +1 -85
- data/lib/ynab/models/transaction_response.rb +1 -75
- data/lib/ynab/models/transaction_response_data.rb +1 -75
- data/lib/ynab/models/transaction_summary.rb +1 -75
- data/lib/ynab/models/transactions_import_response.rb +1 -75
- data/lib/ynab/models/transactions_import_response_data.rb +1 -75
- data/lib/ynab/models/transactions_response.rb +1 -75
- data/lib/ynab/models/transactions_response_data.rb +1 -75
- data/lib/ynab/models/user.rb +1 -75
- data/lib/ynab/models/user_response.rb +1 -75
- data/lib/ynab/models/user_response_data.rb +1 -75
- data/lib/ynab/overrides/transactions_api.rb +6 -6
- data/lib/ynab/version.rb +1 -1
- data/lib/ynab.rb +28 -13
- data/open_api_spec.yaml +1155 -910
- data/spec/api/accounts_spec.rb +9 -9
- data/spec/api/categories_spec.rb +9 -9
- data/spec/api/months_spec.rb +7 -7
- data/spec/api/payee_locations_spec.rb +7 -7
- data/spec/api/payees_spec.rb +7 -7
- data/spec/api/{budgets_spec.rb → plans_spec.rb} +12 -12
- data/spec/api/scheduled_transactions_spec.rb +9 -9
- data/spec/api/transactions_spec.rb +27 -27
- data/spec/fixtures/vcr_cassettes/plans.yml +49 -0
- data/spec/fixtures/vcr_cassettes/plans_unauthorized.yml +49 -0
- data/templates/gem.mustache +3 -2
- data/templates/partial_model_generic.mustache +1 -1
- data/ynab.gemspec +1 -2
- metadata +62 -27
- data/docs/BudgetSettingsResponseData.md +0 -8
- data/docs/BudgetSummary.md +0 -15
- data/docs/BudgetSummaryResponse.md +0 -8
- data/docs/BudgetSummaryResponseData.md +0 -9
- data/docs/BudgetsApi.md +0 -68
data/lib/ynab/models/category.rb
CHANGED
|
@@ -11,7 +11,7 @@ require 'date'
|
|
|
11
11
|
require 'time'
|
|
12
12
|
|
|
13
13
|
module YNAB
|
|
14
|
-
class Category
|
|
14
|
+
class Category < ApiModelBase
|
|
15
15
|
attr_accessor :id
|
|
16
16
|
|
|
17
17
|
attr_accessor :category_group_id
|
|
@@ -28,13 +28,13 @@ module YNAB
|
|
|
28
28
|
|
|
29
29
|
attr_accessor :note
|
|
30
30
|
|
|
31
|
-
#
|
|
31
|
+
# Assigned (budgeted) amount in milliunits format
|
|
32
32
|
attr_accessor :budgeted
|
|
33
33
|
|
|
34
34
|
# Activity amount in milliunits format
|
|
35
35
|
attr_accessor :activity
|
|
36
36
|
|
|
37
|
-
#
|
|
37
|
+
# Available balance in milliunits format
|
|
38
38
|
attr_accessor :balance
|
|
39
39
|
|
|
40
40
|
# The type of goal, if the category has a goal (TB='Target Category Balance', TBD='Target Category Balance by Date', MF='Monthly Funding', NEED='Plan Your Spending')
|
|
@@ -58,9 +58,12 @@ module YNAB
|
|
|
58
58
|
# The goal target amount in milliunits
|
|
59
59
|
attr_accessor :goal_target
|
|
60
60
|
|
|
61
|
-
#
|
|
61
|
+
# DEPRECATED: No longer used. Use `goal_target_date` instead.
|
|
62
62
|
attr_accessor :goal_target_month
|
|
63
63
|
|
|
64
|
+
# The target date for the goal to be completed. Only some goal types specify this date.
|
|
65
|
+
attr_accessor :goal_target_date
|
|
66
|
+
|
|
64
67
|
# The percentage completion of the goal
|
|
65
68
|
attr_accessor :goal_percentage_complete
|
|
66
69
|
|
|
@@ -125,6 +128,7 @@ module YNAB
|
|
|
125
128
|
:'goal_creation_month' => :'goal_creation_month',
|
|
126
129
|
:'goal_target' => :'goal_target',
|
|
127
130
|
:'goal_target_month' => :'goal_target_month',
|
|
131
|
+
:'goal_target_date' => :'goal_target_date',
|
|
128
132
|
:'goal_percentage_complete' => :'goal_percentage_complete',
|
|
129
133
|
:'goal_months_to_budget' => :'goal_months_to_budget',
|
|
130
134
|
:'goal_under_funded' => :'goal_under_funded',
|
|
@@ -161,6 +165,7 @@ module YNAB
|
|
|
161
165
|
:'goal_creation_month' => :'Date',
|
|
162
166
|
:'goal_target' => :'Integer',
|
|
163
167
|
:'goal_target_month' => :'Date',
|
|
168
|
+
:'goal_target_date' => :'Date',
|
|
164
169
|
:'goal_percentage_complete' => :'Integer',
|
|
165
170
|
:'goal_months_to_budget' => :'Integer',
|
|
166
171
|
:'goal_under_funded' => :'Integer',
|
|
@@ -184,6 +189,7 @@ module YNAB
|
|
|
184
189
|
:'goal_creation_month',
|
|
185
190
|
:'goal_target',
|
|
186
191
|
:'goal_target_month',
|
|
192
|
+
:'goal_target_date',
|
|
187
193
|
:'goal_percentage_complete',
|
|
188
194
|
:'goal_months_to_budget',
|
|
189
195
|
:'goal_under_funded',
|
|
@@ -280,6 +286,10 @@ module YNAB
|
|
|
280
286
|
self.goal_target_month = attributes[:'goal_target_month']
|
|
281
287
|
end
|
|
282
288
|
|
|
289
|
+
if attributes.key?(:'goal_target_date')
|
|
290
|
+
self.goal_target_date = attributes[:'goal_target_date']
|
|
291
|
+
end
|
|
292
|
+
|
|
283
293
|
if attributes.key?(:'goal_percentage_complete')
|
|
284
294
|
self.goal_percentage_complete = attributes[:'goal_percentage_complete']
|
|
285
295
|
end
|
|
@@ -361,6 +371,7 @@ module YNAB
|
|
|
361
371
|
goal_creation_month == o.goal_creation_month &&
|
|
362
372
|
goal_target == o.goal_target &&
|
|
363
373
|
goal_target_month == o.goal_target_month &&
|
|
374
|
+
goal_target_date == o.goal_target_date &&
|
|
364
375
|
goal_percentage_complete == o.goal_percentage_complete &&
|
|
365
376
|
goal_months_to_budget == o.goal_months_to_budget &&
|
|
366
377
|
goal_under_funded == o.goal_under_funded &&
|
|
@@ -379,7 +390,7 @@ module YNAB
|
|
|
379
390
|
# Calculates hash code according to all attributes.
|
|
380
391
|
# @return [Integer] Hash code
|
|
381
392
|
def hash
|
|
382
|
-
[id, category_group_id, category_group_name, name, hidden, original_category_group_id, note, budgeted, activity, balance, goal_type, goal_needs_whole_amount, goal_day, goal_cadence, goal_cadence_frequency, goal_creation_month, goal_target, goal_target_month, goal_percentage_complete, goal_months_to_budget, goal_under_funded, goal_overall_funded, goal_overall_left, goal_snoozed_at, deleted].hash
|
|
393
|
+
[id, category_group_id, category_group_name, name, hidden, original_category_group_id, note, budgeted, activity, balance, goal_type, goal_needs_whole_amount, goal_day, goal_cadence, goal_cadence_frequency, goal_creation_month, goal_target, goal_target_month, goal_target_date, goal_percentage_complete, goal_months_to_budget, goal_under_funded, goal_overall_funded, goal_overall_left, goal_snoozed_at, deleted].hash
|
|
383
394
|
end
|
|
384
395
|
|
|
385
396
|
# Builds the object from hash
|
|
@@ -405,61 +416,6 @@ module YNAB
|
|
|
405
416
|
new(transformed_hash)
|
|
406
417
|
end
|
|
407
418
|
|
|
408
|
-
# Deserializes the data based on type
|
|
409
|
-
# @param string type Data type
|
|
410
|
-
# @param string value Value to be deserialized
|
|
411
|
-
# @return [Object] Deserialized data
|
|
412
|
-
def self._deserialize(type, value)
|
|
413
|
-
case type.to_sym
|
|
414
|
-
when :Time
|
|
415
|
-
Time.parse(value)
|
|
416
|
-
when :Date
|
|
417
|
-
Date.parse(value)
|
|
418
|
-
when :String
|
|
419
|
-
value.to_s
|
|
420
|
-
when :Integer
|
|
421
|
-
value.to_i
|
|
422
|
-
when :Float
|
|
423
|
-
value.to_f
|
|
424
|
-
when :Boolean
|
|
425
|
-
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
426
|
-
true
|
|
427
|
-
else
|
|
428
|
-
false
|
|
429
|
-
end
|
|
430
|
-
when :Object
|
|
431
|
-
# generic object (usually a Hash), return directly
|
|
432
|
-
value
|
|
433
|
-
when /\AArray<(?<inner_type>.+)>\z/
|
|
434
|
-
inner_type = Regexp.last_match[:inner_type]
|
|
435
|
-
value.map { |v| _deserialize(inner_type, v) }
|
|
436
|
-
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
437
|
-
k_type = Regexp.last_match[:k_type]
|
|
438
|
-
v_type = Regexp.last_match[:v_type]
|
|
439
|
-
{}.tap do |hash|
|
|
440
|
-
value.each do |k, v|
|
|
441
|
-
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
442
|
-
end
|
|
443
|
-
end
|
|
444
|
-
else # model
|
|
445
|
-
# models (e.g. Pet) or oneOf
|
|
446
|
-
klass = YNAB.const_get(type)
|
|
447
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
448
|
-
end
|
|
449
|
-
end
|
|
450
|
-
|
|
451
|
-
# Returns the string representation of the object
|
|
452
|
-
# @return [String] String presentation of the object
|
|
453
|
-
def to_s
|
|
454
|
-
to_hash.to_s
|
|
455
|
-
end
|
|
456
|
-
|
|
457
|
-
# to_body is an alias to to_hash (backward compatibility)
|
|
458
|
-
# @return [Hash] Returns the object in the form of hash
|
|
459
|
-
def to_body
|
|
460
|
-
to_hash
|
|
461
|
-
end
|
|
462
|
-
|
|
463
419
|
# Returns the object in the form of hash
|
|
464
420
|
# @return [Hash] Returns the object in the form of hash
|
|
465
421
|
def to_hash
|
|
@@ -475,25 +431,6 @@ module YNAB
|
|
|
475
431
|
end
|
|
476
432
|
hash
|
|
477
433
|
end
|
|
478
|
-
|
|
479
|
-
# Outputs non-array value in the form of hash
|
|
480
|
-
# For object, use to_hash. Otherwise, just return the value
|
|
481
|
-
# @param [Object] value Any valid value
|
|
482
|
-
# @return [Hash] Returns the value in the form of hash
|
|
483
|
-
def _to_hash(value)
|
|
484
|
-
if value.is_a?(Array)
|
|
485
|
-
value.compact.map { |v| _to_hash(v) }
|
|
486
|
-
elsif value.is_a?(Hash)
|
|
487
|
-
{}.tap do |hash|
|
|
488
|
-
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
489
|
-
end
|
|
490
|
-
elsif value.respond_to? :to_hash
|
|
491
|
-
value.to_hash
|
|
492
|
-
else
|
|
493
|
-
value
|
|
494
|
-
end
|
|
495
|
-
end
|
|
496
|
-
|
|
497
434
|
end
|
|
498
435
|
|
|
499
436
|
end
|
|
@@ -11,7 +11,7 @@ require 'date'
|
|
|
11
11
|
require 'time'
|
|
12
12
|
|
|
13
13
|
module YNAB
|
|
14
|
-
class CategoryGroup
|
|
14
|
+
class CategoryGroup < ApiModelBase
|
|
15
15
|
attr_accessor :id
|
|
16
16
|
|
|
17
17
|
attr_accessor :name
|
|
@@ -148,61 +148,6 @@ module YNAB
|
|
|
148
148
|
new(transformed_hash)
|
|
149
149
|
end
|
|
150
150
|
|
|
151
|
-
# Deserializes the data based on type
|
|
152
|
-
# @param string type Data type
|
|
153
|
-
# @param string value Value to be deserialized
|
|
154
|
-
# @return [Object] Deserialized data
|
|
155
|
-
def self._deserialize(type, value)
|
|
156
|
-
case type.to_sym
|
|
157
|
-
when :Time
|
|
158
|
-
Time.parse(value)
|
|
159
|
-
when :Date
|
|
160
|
-
Date.parse(value)
|
|
161
|
-
when :String
|
|
162
|
-
value.to_s
|
|
163
|
-
when :Integer
|
|
164
|
-
value.to_i
|
|
165
|
-
when :Float
|
|
166
|
-
value.to_f
|
|
167
|
-
when :Boolean
|
|
168
|
-
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
169
|
-
true
|
|
170
|
-
else
|
|
171
|
-
false
|
|
172
|
-
end
|
|
173
|
-
when :Object
|
|
174
|
-
# generic object (usually a Hash), return directly
|
|
175
|
-
value
|
|
176
|
-
when /\AArray<(?<inner_type>.+)>\z/
|
|
177
|
-
inner_type = Regexp.last_match[:inner_type]
|
|
178
|
-
value.map { |v| _deserialize(inner_type, v) }
|
|
179
|
-
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
180
|
-
k_type = Regexp.last_match[:k_type]
|
|
181
|
-
v_type = Regexp.last_match[:v_type]
|
|
182
|
-
{}.tap do |hash|
|
|
183
|
-
value.each do |k, v|
|
|
184
|
-
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
185
|
-
end
|
|
186
|
-
end
|
|
187
|
-
else # model
|
|
188
|
-
# models (e.g. Pet) or oneOf
|
|
189
|
-
klass = YNAB.const_get(type)
|
|
190
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
191
|
-
end
|
|
192
|
-
end
|
|
193
|
-
|
|
194
|
-
# Returns the string representation of the object
|
|
195
|
-
# @return [String] String presentation of the object
|
|
196
|
-
def to_s
|
|
197
|
-
to_hash.to_s
|
|
198
|
-
end
|
|
199
|
-
|
|
200
|
-
# to_body is an alias to to_hash (backward compatibility)
|
|
201
|
-
# @return [Hash] Returns the object in the form of hash
|
|
202
|
-
def to_body
|
|
203
|
-
to_hash
|
|
204
|
-
end
|
|
205
|
-
|
|
206
151
|
# Returns the object in the form of hash
|
|
207
152
|
# @return [Hash] Returns the object in the form of hash
|
|
208
153
|
def to_hash
|
|
@@ -218,25 +163,6 @@ module YNAB
|
|
|
218
163
|
end
|
|
219
164
|
hash
|
|
220
165
|
end
|
|
221
|
-
|
|
222
|
-
# Outputs non-array value in the form of hash
|
|
223
|
-
# For object, use to_hash. Otherwise, just return the value
|
|
224
|
-
# @param [Object] value Any valid value
|
|
225
|
-
# @return [Hash] Returns the value in the form of hash
|
|
226
|
-
def _to_hash(value)
|
|
227
|
-
if value.is_a?(Array)
|
|
228
|
-
value.compact.map { |v| _to_hash(v) }
|
|
229
|
-
elsif value.is_a?(Hash)
|
|
230
|
-
{}.tap do |hash|
|
|
231
|
-
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
232
|
-
end
|
|
233
|
-
elsif value.respond_to? :to_hash
|
|
234
|
-
value.to_hash
|
|
235
|
-
else
|
|
236
|
-
value
|
|
237
|
-
end
|
|
238
|
-
end
|
|
239
|
-
|
|
240
166
|
end
|
|
241
167
|
|
|
242
168
|
end
|
|
@@ -11,7 +11,7 @@ require 'date'
|
|
|
11
11
|
require 'time'
|
|
12
12
|
|
|
13
13
|
module YNAB
|
|
14
|
-
class CategoryGroupWithCategories
|
|
14
|
+
class CategoryGroupWithCategories < ApiModelBase
|
|
15
15
|
attr_accessor :id
|
|
16
16
|
|
|
17
17
|
attr_accessor :name
|
|
@@ -22,7 +22,7 @@ module YNAB
|
|
|
22
22
|
# Whether or not the category group has been deleted. Deleted category groups will only be included in delta requests.
|
|
23
23
|
attr_accessor :deleted
|
|
24
24
|
|
|
25
|
-
# Category group categories. Amounts (
|
|
25
|
+
# Category group categories. Amounts (assigned, activity, available, etc.) are specific to the current plan month (UTC).
|
|
26
26
|
attr_accessor :categories
|
|
27
27
|
|
|
28
28
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
@@ -168,61 +168,6 @@ module YNAB
|
|
|
168
168
|
new(transformed_hash)
|
|
169
169
|
end
|
|
170
170
|
|
|
171
|
-
# Deserializes the data based on type
|
|
172
|
-
# @param string type Data type
|
|
173
|
-
# @param string value Value to be deserialized
|
|
174
|
-
# @return [Object] Deserialized data
|
|
175
|
-
def self._deserialize(type, value)
|
|
176
|
-
case type.to_sym
|
|
177
|
-
when :Time
|
|
178
|
-
Time.parse(value)
|
|
179
|
-
when :Date
|
|
180
|
-
Date.parse(value)
|
|
181
|
-
when :String
|
|
182
|
-
value.to_s
|
|
183
|
-
when :Integer
|
|
184
|
-
value.to_i
|
|
185
|
-
when :Float
|
|
186
|
-
value.to_f
|
|
187
|
-
when :Boolean
|
|
188
|
-
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
189
|
-
true
|
|
190
|
-
else
|
|
191
|
-
false
|
|
192
|
-
end
|
|
193
|
-
when :Object
|
|
194
|
-
# generic object (usually a Hash), return directly
|
|
195
|
-
value
|
|
196
|
-
when /\AArray<(?<inner_type>.+)>\z/
|
|
197
|
-
inner_type = Regexp.last_match[:inner_type]
|
|
198
|
-
value.map { |v| _deserialize(inner_type, v) }
|
|
199
|
-
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
200
|
-
k_type = Regexp.last_match[:k_type]
|
|
201
|
-
v_type = Regexp.last_match[:v_type]
|
|
202
|
-
{}.tap do |hash|
|
|
203
|
-
value.each do |k, v|
|
|
204
|
-
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
205
|
-
end
|
|
206
|
-
end
|
|
207
|
-
else # model
|
|
208
|
-
# models (e.g. Pet) or oneOf
|
|
209
|
-
klass = YNAB.const_get(type)
|
|
210
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
211
|
-
end
|
|
212
|
-
end
|
|
213
|
-
|
|
214
|
-
# Returns the string representation of the object
|
|
215
|
-
# @return [String] String presentation of the object
|
|
216
|
-
def to_s
|
|
217
|
-
to_hash.to_s
|
|
218
|
-
end
|
|
219
|
-
|
|
220
|
-
# to_body is an alias to to_hash (backward compatibility)
|
|
221
|
-
# @return [Hash] Returns the object in the form of hash
|
|
222
|
-
def to_body
|
|
223
|
-
to_hash
|
|
224
|
-
end
|
|
225
|
-
|
|
226
171
|
# Returns the object in the form of hash
|
|
227
172
|
# @return [Hash] Returns the object in the form of hash
|
|
228
173
|
def to_hash
|
|
@@ -238,25 +183,6 @@ module YNAB
|
|
|
238
183
|
end
|
|
239
184
|
hash
|
|
240
185
|
end
|
|
241
|
-
|
|
242
|
-
# Outputs non-array value in the form of hash
|
|
243
|
-
# For object, use to_hash. Otherwise, just return the value
|
|
244
|
-
# @param [Object] value Any valid value
|
|
245
|
-
# @return [Hash] Returns the value in the form of hash
|
|
246
|
-
def _to_hash(value)
|
|
247
|
-
if value.is_a?(Array)
|
|
248
|
-
value.compact.map { |v| _to_hash(v) }
|
|
249
|
-
elsif value.is_a?(Hash)
|
|
250
|
-
{}.tap do |hash|
|
|
251
|
-
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
252
|
-
end
|
|
253
|
-
elsif value.respond_to? :to_hash
|
|
254
|
-
value.to_hash
|
|
255
|
-
else
|
|
256
|
-
value
|
|
257
|
-
end
|
|
258
|
-
end
|
|
259
|
-
|
|
260
186
|
end
|
|
261
187
|
|
|
262
188
|
end
|
|
@@ -11,7 +11,7 @@ require 'date'
|
|
|
11
11
|
require 'time'
|
|
12
12
|
|
|
13
13
|
module YNAB
|
|
14
|
-
class CategoryResponse
|
|
14
|
+
class CategoryResponse < ApiModelBase
|
|
15
15
|
attr_accessor :data
|
|
16
16
|
|
|
17
17
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
@@ -116,61 +116,6 @@ module YNAB
|
|
|
116
116
|
new(transformed_hash)
|
|
117
117
|
end
|
|
118
118
|
|
|
119
|
-
# Deserializes the data based on type
|
|
120
|
-
# @param string type Data type
|
|
121
|
-
# @param string value Value to be deserialized
|
|
122
|
-
# @return [Object] Deserialized data
|
|
123
|
-
def self._deserialize(type, value)
|
|
124
|
-
case type.to_sym
|
|
125
|
-
when :Time
|
|
126
|
-
Time.parse(value)
|
|
127
|
-
when :Date
|
|
128
|
-
Date.parse(value)
|
|
129
|
-
when :String
|
|
130
|
-
value.to_s
|
|
131
|
-
when :Integer
|
|
132
|
-
value.to_i
|
|
133
|
-
when :Float
|
|
134
|
-
value.to_f
|
|
135
|
-
when :Boolean
|
|
136
|
-
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
137
|
-
true
|
|
138
|
-
else
|
|
139
|
-
false
|
|
140
|
-
end
|
|
141
|
-
when :Object
|
|
142
|
-
# generic object (usually a Hash), return directly
|
|
143
|
-
value
|
|
144
|
-
when /\AArray<(?<inner_type>.+)>\z/
|
|
145
|
-
inner_type = Regexp.last_match[:inner_type]
|
|
146
|
-
value.map { |v| _deserialize(inner_type, v) }
|
|
147
|
-
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
148
|
-
k_type = Regexp.last_match[:k_type]
|
|
149
|
-
v_type = Regexp.last_match[:v_type]
|
|
150
|
-
{}.tap do |hash|
|
|
151
|
-
value.each do |k, v|
|
|
152
|
-
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
153
|
-
end
|
|
154
|
-
end
|
|
155
|
-
else # model
|
|
156
|
-
# models (e.g. Pet) or oneOf
|
|
157
|
-
klass = YNAB.const_get(type)
|
|
158
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
159
|
-
end
|
|
160
|
-
end
|
|
161
|
-
|
|
162
|
-
# Returns the string representation of the object
|
|
163
|
-
# @return [String] String presentation of the object
|
|
164
|
-
def to_s
|
|
165
|
-
to_hash.to_s
|
|
166
|
-
end
|
|
167
|
-
|
|
168
|
-
# to_body is an alias to to_hash (backward compatibility)
|
|
169
|
-
# @return [Hash] Returns the object in the form of hash
|
|
170
|
-
def to_body
|
|
171
|
-
to_hash
|
|
172
|
-
end
|
|
173
|
-
|
|
174
119
|
# Returns the object in the form of hash
|
|
175
120
|
# @return [Hash] Returns the object in the form of hash
|
|
176
121
|
def to_hash
|
|
@@ -186,25 +131,6 @@ module YNAB
|
|
|
186
131
|
end
|
|
187
132
|
hash
|
|
188
133
|
end
|
|
189
|
-
|
|
190
|
-
# Outputs non-array value in the form of hash
|
|
191
|
-
# For object, use to_hash. Otherwise, just return the value
|
|
192
|
-
# @param [Object] value Any valid value
|
|
193
|
-
# @return [Hash] Returns the value in the form of hash
|
|
194
|
-
def _to_hash(value)
|
|
195
|
-
if value.is_a?(Array)
|
|
196
|
-
value.compact.map { |v| _to_hash(v) }
|
|
197
|
-
elsif value.is_a?(Hash)
|
|
198
|
-
{}.tap do |hash|
|
|
199
|
-
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
200
|
-
end
|
|
201
|
-
elsif value.respond_to? :to_hash
|
|
202
|
-
value.to_hash
|
|
203
|
-
else
|
|
204
|
-
value
|
|
205
|
-
end
|
|
206
|
-
end
|
|
207
|
-
|
|
208
134
|
end
|
|
209
135
|
|
|
210
136
|
end
|
|
@@ -11,7 +11,7 @@ require 'date'
|
|
|
11
11
|
require 'time'
|
|
12
12
|
|
|
13
13
|
module YNAB
|
|
14
|
-
class CategoryResponseData
|
|
14
|
+
class CategoryResponseData < ApiModelBase
|
|
15
15
|
attr_accessor :category
|
|
16
16
|
|
|
17
17
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
@@ -116,61 +116,6 @@ module YNAB
|
|
|
116
116
|
new(transformed_hash)
|
|
117
117
|
end
|
|
118
118
|
|
|
119
|
-
# Deserializes the data based on type
|
|
120
|
-
# @param string type Data type
|
|
121
|
-
# @param string value Value to be deserialized
|
|
122
|
-
# @return [Object] Deserialized data
|
|
123
|
-
def self._deserialize(type, value)
|
|
124
|
-
case type.to_sym
|
|
125
|
-
when :Time
|
|
126
|
-
Time.parse(value)
|
|
127
|
-
when :Date
|
|
128
|
-
Date.parse(value)
|
|
129
|
-
when :String
|
|
130
|
-
value.to_s
|
|
131
|
-
when :Integer
|
|
132
|
-
value.to_i
|
|
133
|
-
when :Float
|
|
134
|
-
value.to_f
|
|
135
|
-
when :Boolean
|
|
136
|
-
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
137
|
-
true
|
|
138
|
-
else
|
|
139
|
-
false
|
|
140
|
-
end
|
|
141
|
-
when :Object
|
|
142
|
-
# generic object (usually a Hash), return directly
|
|
143
|
-
value
|
|
144
|
-
when /\AArray<(?<inner_type>.+)>\z/
|
|
145
|
-
inner_type = Regexp.last_match[:inner_type]
|
|
146
|
-
value.map { |v| _deserialize(inner_type, v) }
|
|
147
|
-
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
148
|
-
k_type = Regexp.last_match[:k_type]
|
|
149
|
-
v_type = Regexp.last_match[:v_type]
|
|
150
|
-
{}.tap do |hash|
|
|
151
|
-
value.each do |k, v|
|
|
152
|
-
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
153
|
-
end
|
|
154
|
-
end
|
|
155
|
-
else # model
|
|
156
|
-
# models (e.g. Pet) or oneOf
|
|
157
|
-
klass = YNAB.const_get(type)
|
|
158
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
159
|
-
end
|
|
160
|
-
end
|
|
161
|
-
|
|
162
|
-
# Returns the string representation of the object
|
|
163
|
-
# @return [String] String presentation of the object
|
|
164
|
-
def to_s
|
|
165
|
-
to_hash.to_s
|
|
166
|
-
end
|
|
167
|
-
|
|
168
|
-
# to_body is an alias to to_hash (backward compatibility)
|
|
169
|
-
# @return [Hash] Returns the object in the form of hash
|
|
170
|
-
def to_body
|
|
171
|
-
to_hash
|
|
172
|
-
end
|
|
173
|
-
|
|
174
119
|
# Returns the object in the form of hash
|
|
175
120
|
# @return [Hash] Returns the object in the form of hash
|
|
176
121
|
def to_hash
|
|
@@ -186,25 +131,6 @@ module YNAB
|
|
|
186
131
|
end
|
|
187
132
|
hash
|
|
188
133
|
end
|
|
189
|
-
|
|
190
|
-
# Outputs non-array value in the form of hash
|
|
191
|
-
# For object, use to_hash. Otherwise, just return the value
|
|
192
|
-
# @param [Object] value Any valid value
|
|
193
|
-
# @return [Hash] Returns the value in the form of hash
|
|
194
|
-
def _to_hash(value)
|
|
195
|
-
if value.is_a?(Array)
|
|
196
|
-
value.compact.map { |v| _to_hash(v) }
|
|
197
|
-
elsif value.is_a?(Hash)
|
|
198
|
-
{}.tap do |hash|
|
|
199
|
-
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
200
|
-
end
|
|
201
|
-
elsif value.respond_to? :to_hash
|
|
202
|
-
value.to_hash
|
|
203
|
-
else
|
|
204
|
-
value
|
|
205
|
-
end
|
|
206
|
-
end
|
|
207
|
-
|
|
208
134
|
end
|
|
209
135
|
|
|
210
136
|
end
|
|
@@ -11,8 +11,8 @@ require 'date'
|
|
|
11
11
|
require 'time'
|
|
12
12
|
|
|
13
13
|
module YNAB
|
|
14
|
-
# The currency format setting for the
|
|
15
|
-
class CurrencyFormat
|
|
14
|
+
# The currency format setting for the plan. In some cases the format will not be available and will be specified as null.
|
|
15
|
+
class CurrencyFormat < ApiModelBase
|
|
16
16
|
attr_accessor :iso_code
|
|
17
17
|
|
|
18
18
|
attr_accessor :example_format
|
|
@@ -187,61 +187,6 @@ module YNAB
|
|
|
187
187
|
new(transformed_hash)
|
|
188
188
|
end
|
|
189
189
|
|
|
190
|
-
# Deserializes the data based on type
|
|
191
|
-
# @param string type Data type
|
|
192
|
-
# @param string value Value to be deserialized
|
|
193
|
-
# @return [Object] Deserialized data
|
|
194
|
-
def self._deserialize(type, value)
|
|
195
|
-
case type.to_sym
|
|
196
|
-
when :Time
|
|
197
|
-
Time.parse(value)
|
|
198
|
-
when :Date
|
|
199
|
-
Date.parse(value)
|
|
200
|
-
when :String
|
|
201
|
-
value.to_s
|
|
202
|
-
when :Integer
|
|
203
|
-
value.to_i
|
|
204
|
-
when :Float
|
|
205
|
-
value.to_f
|
|
206
|
-
when :Boolean
|
|
207
|
-
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
208
|
-
true
|
|
209
|
-
else
|
|
210
|
-
false
|
|
211
|
-
end
|
|
212
|
-
when :Object
|
|
213
|
-
# generic object (usually a Hash), return directly
|
|
214
|
-
value
|
|
215
|
-
when /\AArray<(?<inner_type>.+)>\z/
|
|
216
|
-
inner_type = Regexp.last_match[:inner_type]
|
|
217
|
-
value.map { |v| _deserialize(inner_type, v) }
|
|
218
|
-
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
219
|
-
k_type = Regexp.last_match[:k_type]
|
|
220
|
-
v_type = Regexp.last_match[:v_type]
|
|
221
|
-
{}.tap do |hash|
|
|
222
|
-
value.each do |k, v|
|
|
223
|
-
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
224
|
-
end
|
|
225
|
-
end
|
|
226
|
-
else # model
|
|
227
|
-
# models (e.g. Pet) or oneOf
|
|
228
|
-
klass = YNAB.const_get(type)
|
|
229
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
230
|
-
end
|
|
231
|
-
end
|
|
232
|
-
|
|
233
|
-
# Returns the string representation of the object
|
|
234
|
-
# @return [String] String presentation of the object
|
|
235
|
-
def to_s
|
|
236
|
-
to_hash.to_s
|
|
237
|
-
end
|
|
238
|
-
|
|
239
|
-
# to_body is an alias to to_hash (backward compatibility)
|
|
240
|
-
# @return [Hash] Returns the object in the form of hash
|
|
241
|
-
def to_body
|
|
242
|
-
to_hash
|
|
243
|
-
end
|
|
244
|
-
|
|
245
190
|
# Returns the object in the form of hash
|
|
246
191
|
# @return [Hash] Returns the object in the form of hash
|
|
247
192
|
def to_hash
|
|
@@ -257,25 +202,6 @@ module YNAB
|
|
|
257
202
|
end
|
|
258
203
|
hash
|
|
259
204
|
end
|
|
260
|
-
|
|
261
|
-
# Outputs non-array value in the form of hash
|
|
262
|
-
# For object, use to_hash. Otherwise, just return the value
|
|
263
|
-
# @param [Object] value Any valid value
|
|
264
|
-
# @return [Hash] Returns the value in the form of hash
|
|
265
|
-
def _to_hash(value)
|
|
266
|
-
if value.is_a?(Array)
|
|
267
|
-
value.compact.map { |v| _to_hash(v) }
|
|
268
|
-
elsif value.is_a?(Hash)
|
|
269
|
-
{}.tap do |hash|
|
|
270
|
-
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
271
|
-
end
|
|
272
|
-
elsif value.respond_to? :to_hash
|
|
273
|
-
value.to_hash
|
|
274
|
-
else
|
|
275
|
-
value
|
|
276
|
-
end
|
|
277
|
-
end
|
|
278
|
-
|
|
279
205
|
end
|
|
280
206
|
|
|
281
207
|
end
|