ynab 3.9.0 → 5.0.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 (232) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +4 -2
  4. data/README.md +47 -39
  5. data/Rakefile +3 -3
  6. data/docs/Account.md +3 -3
  7. data/docs/AccountsApi.md +12 -12
  8. data/docs/CategoriesApi.md +89 -25
  9. data/docs/Category.md +4 -3
  10. data/docs/CategoryGroupWithCategories.md +1 -1
  11. data/docs/ExistingCategory.md +12 -0
  12. data/docs/MoneyMovement.md +16 -0
  13. data/docs/MoneyMovementGroup.md +12 -0
  14. data/docs/MoneyMovementGroupsResponse.md +8 -0
  15. data/docs/MoneyMovementGroupsResponseData.md +9 -0
  16. data/docs/MoneyMovementsApi.md +89 -0
  17. data/docs/{BudgetSettingsResponse.md → MoneyMovementsResponse.md} +2 -2
  18. data/docs/MoneyMovementsResponseData.md +9 -0
  19. data/docs/MonthDetail.md +2 -2
  20. data/docs/MonthSummary.md +1 -1
  21. data/docs/MonthsApi.md +13 -13
  22. data/docs/NewCategory.md +12 -0
  23. data/docs/PatchCategoryGroupWrapper.md +8 -0
  24. data/docs/PatchCategoryWrapper.md +1 -1
  25. data/docs/PayeeLocationsApi.md +12 -12
  26. data/docs/PayeesApi.md +11 -11
  27. data/docs/{BudgetDetail.md → PlanDetail.md} +4 -4
  28. data/docs/PlanDetailResponse.md +8 -0
  29. data/docs/{BudgetDetailResponseData.md → PlanDetailResponseData.md} +2 -2
  30. data/docs/{BudgetSettings.md → PlanSettings.md} +1 -1
  31. data/docs/{BudgetDetailResponse.md → PlanSettingsResponse.md} +2 -2
  32. data/docs/PlanSettingsResponseData.md +8 -0
  33. data/docs/PlanSummary.md +15 -0
  34. data/docs/PlanSummaryResponse.md +8 -0
  35. data/docs/PlanSummaryResponseData.md +9 -0
  36. data/docs/PlansApi.md +68 -0
  37. data/docs/PostCategoryGroupWrapper.md +8 -0
  38. data/docs/PostCategoryWrapper.md +8 -0
  39. data/docs/SaveCategory.md +2 -1
  40. data/docs/SaveCategoryGroup.md +8 -0
  41. data/docs/SaveCategoryGroupResponse.md +8 -0
  42. data/docs/SaveCategoryGroupResponseData.md +9 -0
  43. data/docs/SaveMonthCategory.md +1 -1
  44. data/docs/ScheduledTransactionsApi.md +20 -20
  45. data/docs/TransactionsApi.md +48 -48
  46. data/docs/UserApi.md +2 -2
  47. data/examples/category-balance.rb +2 -2
  48. data/examples/create-multiple-transactions.rb +2 -2
  49. data/examples/create-transaction.rb +2 -2
  50. data/examples/{budget-list.rb → plan-list.rb} +6 -6
  51. data/examples/{budget-month.rb → plan-month.rb} +9 -10
  52. data/examples/update-category-budgeted.rb +2 -2
  53. data/examples/update-multiple-transactions.rb +3 -3
  54. data/lib/ynab/api/accounts_api.rb +33 -34
  55. data/lib/ynab/api/categories_api.rb +293 -66
  56. data/lib/ynab/api/deprecated_api.rb +11 -11
  57. data/lib/ynab/api/money_movements_api.rb +282 -0
  58. data/lib/ynab/api/months_api.rb +35 -36
  59. data/lib/ynab/api/payee_locations_api.rb +33 -34
  60. data/lib/ynab/api/payees_api.rb +31 -32
  61. data/lib/ynab/api/{budgets_api.rb → plans_api.rb} +55 -56
  62. data/lib/ynab/api/scheduled_transactions_api.rb +55 -56
  63. data/lib/ynab/api/transactions_api.rb +130 -131
  64. data/lib/ynab/api/user_api.rb +2 -3
  65. data/lib/ynab/api_client.rb +0 -2
  66. data/lib/ynab/api_model_base.rb +85 -0
  67. data/lib/ynab/models/account.rb +4 -81
  68. data/lib/ynab/models/account_response.rb +1 -75
  69. data/lib/ynab/models/account_response_data.rb +1 -75
  70. data/lib/ynab/models/accounts_response.rb +1 -75
  71. data/lib/ynab/models/accounts_response_data.rb +1 -75
  72. data/lib/ynab/models/bulk_response.rb +1 -75
  73. data/lib/ynab/models/bulk_response_data.rb +1 -75
  74. data/lib/ynab/models/bulk_response_data_bulk.rb +1 -75
  75. data/lib/ynab/models/bulk_transactions.rb +1 -75
  76. data/lib/ynab/models/categories_response.rb +1 -75
  77. data/lib/ynab/models/categories_response_data.rb +1 -75
  78. data/lib/ynab/models/category.rb +16 -79
  79. data/lib/ynab/models/category_group.rb +1 -75
  80. data/lib/ynab/models/category_group_with_categories.rb +2 -76
  81. data/lib/ynab/models/category_response.rb +1 -75
  82. data/lib/ynab/models/category_response_data.rb +1 -75
  83. data/lib/ynab/models/currency_format.rb +2 -76
  84. data/lib/ynab/models/date_format.rb +2 -76
  85. data/lib/ynab/models/error_detail.rb +1 -75
  86. data/lib/ynab/models/error_response.rb +1 -75
  87. data/lib/ynab/models/existing_category.rb +180 -0
  88. data/lib/ynab/models/existing_transaction.rb +1 -79
  89. data/lib/ynab/models/hybrid_transaction.rb +1 -85
  90. data/lib/ynab/models/hybrid_transactions_response.rb +1 -75
  91. data/lib/ynab/models/hybrid_transactions_response_data.rb +1 -75
  92. data/lib/ynab/models/{budget_summary_response_data.rb → money_movement.rb} +95 -93
  93. data/lib/ynab/models/money_movement_group.rb +179 -0
  94. data/lib/ynab/models/{budget_summary_response.rb → money_movement_groups_response.rb} +4 -78
  95. data/lib/ynab/models/money_movement_groups_response_data.rb +149 -0
  96. data/lib/ynab/models/{budget_settings_response.rb → money_movements_response.rb} +4 -78
  97. data/lib/ynab/models/{budget_detail_response_data.rb → money_movements_response_data.rb} +13 -85
  98. data/lib/ynab/models/month_detail.rb +3 -79
  99. data/lib/ynab/models/month_detail_response.rb +1 -75
  100. data/lib/ynab/models/month_detail_response_data.rb +1 -75
  101. data/lib/ynab/models/month_summaries_response.rb +1 -75
  102. data/lib/ynab/models/month_summaries_response_data.rb +1 -75
  103. data/lib/ynab/models/month_summary.rb +2 -76
  104. data/lib/ynab/models/new_category.rb +180 -0
  105. data/lib/ynab/models/new_transaction.rb +1 -79
  106. data/lib/ynab/models/patch_category_group_wrapper.rb +136 -0
  107. data/lib/ynab/models/patch_category_wrapper.rb +2 -76
  108. data/lib/ynab/models/patch_month_category_wrapper.rb +1 -75
  109. data/lib/ynab/models/patch_payee_wrapper.rb +1 -75
  110. data/lib/ynab/models/patch_transactions_wrapper.rb +1 -75
  111. data/lib/ynab/models/payee.rb +1 -75
  112. data/lib/ynab/models/payee_location.rb +1 -75
  113. data/lib/ynab/models/payee_location_response.rb +1 -75
  114. data/lib/ynab/models/payee_location_response_data.rb +1 -75
  115. data/lib/ynab/models/payee_locations_response.rb +1 -75
  116. data/lib/ynab/models/payee_locations_response_data.rb +1 -75
  117. data/lib/ynab/models/payee_response.rb +1 -75
  118. data/lib/ynab/models/payee_response_data.rb +1 -75
  119. data/lib/ynab/models/payees_response.rb +1 -75
  120. data/lib/ynab/models/payees_response_data.rb +1 -75
  121. data/lib/ynab/models/{budget_detail.rb → plan_detail.rb} +7 -83
  122. data/lib/ynab/models/plan_detail_response.rb +136 -0
  123. data/lib/ynab/models/plan_detail_response_data.rb +147 -0
  124. data/lib/ynab/models/{budget_settings.rb → plan_settings.rb} +5 -79
  125. data/lib/ynab/models/{budget_detail_response.rb → plan_settings_response.rb} +4 -78
  126. data/lib/ynab/models/{budget_settings_response_data.rb → plan_settings_response_data.rb} +4 -78
  127. data/lib/ynab/models/{budget_summary.rb → plan_summary.rb} +7 -83
  128. data/lib/ynab/models/plan_summary_response.rb +136 -0
  129. data/lib/ynab/models/plan_summary_response_data.rb +147 -0
  130. data/lib/ynab/models/post_account_wrapper.rb +1 -75
  131. data/lib/ynab/models/post_category_group_wrapper.rb +136 -0
  132. data/lib/ynab/models/post_category_wrapper.rb +136 -0
  133. data/lib/ynab/models/post_scheduled_transaction_wrapper.rb +1 -75
  134. data/lib/ynab/models/post_transactions_wrapper.rb +1 -75
  135. data/lib/ynab/models/put_scheduled_transaction_wrapper.rb +1 -75
  136. data/lib/ynab/models/put_transaction_wrapper.rb +1 -75
  137. data/lib/ynab/models/save_account.rb +1 -75
  138. data/lib/ynab/models/save_category.rb +18 -81
  139. data/lib/ynab/models/save_category_group.rb +148 -0
  140. data/lib/ynab/models/save_category_group_response.rb +136 -0
  141. data/lib/ynab/models/save_category_group_response_data.rb +147 -0
  142. data/lib/ynab/models/save_category_response.rb +1 -75
  143. data/lib/ynab/models/save_category_response_data.rb +1 -75
  144. data/lib/ynab/models/save_month_category.rb +2 -76
  145. data/lib/ynab/models/save_payee.rb +1 -75
  146. data/lib/ynab/models/save_payee_response.rb +1 -75
  147. data/lib/ynab/models/save_payee_response_data.rb +1 -75
  148. data/lib/ynab/models/save_scheduled_transaction.rb +1 -75
  149. data/lib/ynab/models/save_sub_transaction.rb +1 -75
  150. data/lib/ynab/models/save_transaction_with_id_or_import_id.rb +1 -79
  151. data/lib/ynab/models/save_transaction_with_optional_fields.rb +1 -75
  152. data/lib/ynab/models/save_transactions_response.rb +1 -75
  153. data/lib/ynab/models/save_transactions_response_data.rb +1 -75
  154. data/lib/ynab/models/scheduled_sub_transaction.rb +1 -75
  155. data/lib/ynab/models/scheduled_transaction_detail.rb +1 -80
  156. data/lib/ynab/models/scheduled_transaction_response.rb +1 -75
  157. data/lib/ynab/models/scheduled_transaction_response_data.rb +1 -75
  158. data/lib/ynab/models/scheduled_transaction_summary.rb +1 -75
  159. data/lib/ynab/models/scheduled_transactions_response.rb +1 -75
  160. data/lib/ynab/models/scheduled_transactions_response_data.rb +1 -75
  161. data/lib/ynab/models/sub_transaction.rb +1 -75
  162. data/lib/ynab/models/transaction_detail.rb +1 -85
  163. data/lib/ynab/models/transaction_response.rb +1 -75
  164. data/lib/ynab/models/transaction_response_data.rb +1 -75
  165. data/lib/ynab/models/transaction_summary.rb +1 -75
  166. data/lib/ynab/models/transactions_import_response.rb +1 -75
  167. data/lib/ynab/models/transactions_import_response_data.rb +1 -75
  168. data/lib/ynab/models/transactions_response.rb +1 -75
  169. data/lib/ynab/models/transactions_response_data.rb +1 -75
  170. data/lib/ynab/models/user.rb +1 -75
  171. data/lib/ynab/models/user_response.rb +1 -75
  172. data/lib/ynab/models/user_response_data.rb +1 -75
  173. data/lib/ynab/overrides/transactions_api.rb +6 -6
  174. data/lib/ynab/version.rb +1 -1
  175. data/lib/ynab.rb +28 -13
  176. data/open_api_spec.yaml +1161 -916
  177. data/spec/api/accounts_spec.rb +9 -9
  178. data/spec/api/categories_spec.rb +9 -9
  179. data/spec/api/months_spec.rb +7 -7
  180. data/spec/api/payee_locations_spec.rb +7 -7
  181. data/spec/api/payees_spec.rb +7 -7
  182. data/spec/api/plans_spec.rb +55 -0
  183. data/spec/api/scheduled_transactions_spec.rb +9 -9
  184. data/spec/api/transactions_spec.rb +27 -27
  185. data/spec/fixtures/vcr_cassettes/account.yml +2 -2
  186. data/spec/fixtures/vcr_cassettes/accounts.yml +2 -2
  187. data/spec/fixtures/vcr_cassettes/accounts_unauthorized.yml +2 -2
  188. data/spec/fixtures/vcr_cassettes/bulk_transactions.yml +2 -2
  189. data/spec/fixtures/vcr_cassettes/categories.yml +2 -2
  190. data/spec/fixtures/vcr_cassettes/categories_unauthorized.yml +2 -2
  191. data/spec/fixtures/vcr_cassettes/category.yml +2 -2
  192. data/spec/fixtures/vcr_cassettes/category_transactions.yml +2 -2
  193. data/spec/fixtures/vcr_cassettes/create_account.yml +2 -2
  194. data/spec/fixtures/vcr_cassettes/create_scheduled_transaction.yml +2 -2
  195. data/spec/fixtures/vcr_cassettes/create_transaction.yml +2 -2
  196. data/spec/fixtures/vcr_cassettes/create_transactions.yml +2 -2
  197. data/spec/fixtures/vcr_cassettes/import_transactions.yml +2 -2
  198. data/spec/fixtures/vcr_cassettes/month.yml +2 -2
  199. data/spec/fixtures/vcr_cassettes/month_transactions.yml +2 -2
  200. data/spec/fixtures/vcr_cassettes/months.yml +2 -2
  201. data/spec/fixtures/vcr_cassettes/months_unauthorized.yml +2 -2
  202. data/spec/fixtures/vcr_cassettes/multiple_transactions.yml +2 -2
  203. data/spec/fixtures/vcr_cassettes/patch_month_category.yml +2 -2
  204. data/spec/fixtures/vcr_cassettes/payee.yml +2 -2
  205. data/spec/fixtures/vcr_cassettes/payee_location.yml +2 -2
  206. data/spec/fixtures/vcr_cassettes/payee_locations.yml +2 -2
  207. data/spec/fixtures/vcr_cassettes/payee_locations_unauthorized.yml +2 -2
  208. data/spec/fixtures/vcr_cassettes/payee_transactions.yml +2 -2
  209. data/spec/fixtures/vcr_cassettes/payees.yml +2 -2
  210. data/spec/fixtures/vcr_cassettes/payees_unauthorized.yml +2 -2
  211. data/spec/fixtures/vcr_cassettes/{budget.yml → plan.yml} +3 -3
  212. data/spec/fixtures/vcr_cassettes/{budgets.yml → plans.yml} +3 -3
  213. data/spec/fixtures/vcr_cassettes/{budgets_unauthorized.yml → plans_unauthorized.yml} +3 -3
  214. data/spec/fixtures/vcr_cassettes/scheduled_transaction.yml +2 -2
  215. data/spec/fixtures/vcr_cassettes/scheduled_transactions.yml +2 -2
  216. data/spec/fixtures/vcr_cassettes/scheduled_transactions_unauthorized.yml +2 -2
  217. data/spec/fixtures/vcr_cassettes/transaction.yml +2 -2
  218. data/spec/fixtures/vcr_cassettes/transactions.yml +2 -2
  219. data/spec/fixtures/vcr_cassettes/transactions_invalid_flags.yml +2 -2
  220. data/spec/fixtures/vcr_cassettes/transactions_unauthorized.yml +2 -2
  221. data/spec/fixtures/vcr_cassettes/update_transaction.yml +2 -2
  222. data/spec/fixtures/vcr_cassettes/update_transactions.yml +2 -2
  223. data/templates/gem.mustache +3 -2
  224. data/templates/partial_model_generic.mustache +1 -1
  225. data/ynab.gemspec +1 -2
  226. metadata +64 -33
  227. data/docs/BudgetSettingsResponseData.md +0 -8
  228. data/docs/BudgetSummary.md +0 -15
  229. data/docs/BudgetSummaryResponse.md +0 -8
  230. data/docs/BudgetSummaryResponseData.md +0 -9
  231. data/docs/BudgetsApi.md +0 -68
  232. data/spec/api/budgets_spec.rb +0 -55
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://api.localhost:3000/v1/budgets/f419ac25-6217-4175-88dc-c3136ff5f6fd/transactions
5
+ uri: http://api.localhost:3000/v1/plans/f419ac25-6217-4175-88dc-c3136ff5f6fd/transactions
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -44,6 +44,6 @@ http_interactions:
44
44
  string: '{"error":{"id":"401","name":"unauthorized","detail":"Unauthorized"}}'
45
45
  http_version: '1.1'
46
46
  adapter_metadata:
47
- effective_url: http://api.localhost:3000/v1/budgets/f419ac25-6217-4175-88dc-c3136ff5f6fd/transactions
47
+ effective_url: http://api.localhost:3000/v1/plans/f419ac25-6217-4175-88dc-c3136ff5f6fd/transactions
48
48
  recorded_at: Thu, 15 Feb 2018 19:00:01 GMT
49
49
  recorded_with: VCR 3.0.3
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: put
5
- uri: http://api.localhost:3000/v1/budgets/f419ac25-6217-4175-88dc-c3136ff5f6fd/transactions/4cd63d34-3814-4f50-abd0-59ce05b40d91
5
+ uri: http://api.localhost:3000/v1/plans/f419ac25-6217-4175-88dc-c3136ff5f6fd/transactions/4cd63d34-3814-4f50-abd0-59ce05b40d91
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: '{"transaction":{"date":"2018-01-02","account_id":"5982e895-98e5-41ca-9681-0b6de1036a1c","amount":30000}}'
@@ -41,6 +41,6 @@ http_interactions:
41
41
  string: '{"data":{"transaction":{"id":"4cd63d34-3814-4f50-abd0-59ce05b40d91","date":"2018-01-02","amount":30000,"memo":null,"cleared":"uncleared","approved":false,"flag_color":null,"account_id":"5982e895-98e5-41ca-9681-0b6de1036a1c","payee_id":null,"category_id":null,"transfer_account_id":null,"import_id":null,"subtransactions":[]}}}'
42
42
  http_version: '1.1'
43
43
  adapter_metadata:
44
- effective_url: http://api.localhost:3000/v1/budgets/f419ac25-6217-4175-88dc-c3136ff5f6fd/transactions/4cd63d34-3814-4f50-abd0-59ce05b40d91
44
+ effective_url: http://api.localhost:3000/v1/plans/f419ac25-6217-4175-88dc-c3136ff5f6fd/transactions/4cd63d34-3814-4f50-abd0-59ce05b40d91
45
45
  recorded_at: Thu, 15 Feb 2018 19:11:01 GMT
46
46
  recorded_with: VCR 3.0.3
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: patch
5
- uri: http://api.localhost:3000/v1/budgets/f419ac25-6217-4175-88dc-c3136ff5f6fd/transactions
5
+ uri: http://api.localhost:3000/v1/plans/f419ac25-6217-4175-88dc-c3136ff5f6fd/transactions
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: '{"transactions":[{"date":"2018-01-02","account_id":"5982e895-98e5-41ca-9681-0b6de1036a1c","amount":30000},{"date":"2018-01-03","account_id":"5982e895-98e5-41ca-9681-0b6de1036a1c","amount":40000}]}'
@@ -41,6 +41,6 @@ http_interactions:
41
41
  string: '{"data":{"transactions":[{"id":"4cd63d34-3814-4f50-abd0-59ce05b40d91","date":"2018-01-02","amount":30000,"memo":null,"cleared":"uncleared","approved":false,"flag_color":null,"account_id":"5982e895-98e5-41ca-9681-0b6de1036a1c","payee_id":null,"category_id":null,"transfer_account_id":null,"import_id":null,"subtransactions":[]},{"id":"4cd63d34-3814-4f50-abd0-59ce05b40d91","date":"2018-01-03","amount":40000,"memo":null,"cleared":"uncleared","approved":false,"flag_color":null,"account_id":"5982e895-98e5-41ca-9681-0b6de1036a1c","payee_id":null,"category_id":null,"transfer_account_id":null,"import_id":null,"subtransactions":[]}]}}'
42
42
  http_version: '1.1'
43
43
  adapter_metadata:
44
- effective_url: http://api.localhost:3000/v1/budgets/f419ac25-6217-4175-88dc-c3136ff5f6fd/transactions/4cd63d34-3814-4f50-abd0-59ce05b40d91
44
+ effective_url: http://api.localhost:3000/v1/plans/f419ac25-6217-4175-88dc-c3136ff5f6fd/transactions/4cd63d34-3814-4f50-abd0-59ce05b40d91
45
45
  recorded_at: Thu, 15 Feb 2018 19:11:01 GMT
46
46
  recorded_with: VCR 3.0.3
@@ -9,6 +9,7 @@ require '{{gemName}}/version'
9
9
  require '{{gemName}}/configuration'
10
10
 
11
11
  # Models
12
+ require '{{gemName}}/api_model_base'
12
13
  {{#models}}
13
14
  {{#model}}
14
15
  require '{{gemName}}/{{modelPackage}}/{{classFilename}}'{{/model}}
@@ -39,8 +40,8 @@ module {{moduleName}}
39
40
  UserApi.new(@client)
40
41
  end
41
42
 
42
- def budgets
43
- BudgetsApi.new(@client)
43
+ def plans
44
+ PlansApi.new(@client)
44
45
  end
45
46
 
46
47
  def accounts
@@ -1,7 +1,7 @@
1
1
  {{#description}}
2
2
  # {{{.}}}
3
3
  {{/description}}
4
- class {{classname}}{{#parent}} < {{{.}}}{{/parent}}
4
+ class {{classname}}{{#parent}} < {{{.}}}{{/parent}}{{^parent}} < ApiModelBase{{/parent}}
5
5
  {{#vars}}
6
6
  {{#description}}
7
7
  # {{{.}}}
data/ynab.gemspec CHANGED
@@ -6,7 +6,6 @@
6
6
  #Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body. API Documentation is at https://api.ynab.com
7
7
 
8
8
  Generated by: OpenAPI Generator (https://openapi-generator.tech)
9
-
10
9
  =end
11
10
 
12
11
  $:.push File.expand_path("../lib", __FILE__)
@@ -20,7 +19,7 @@ Gem::Specification.new do |s|
20
19
  s.email = ["api@ynab.com"]
21
20
  s.homepage = "https://github.com/ynab/ynab-sdk-ruby"
22
21
  s.summary = "Official Ruby client for the YNAB API"
23
- s.description = "Official Ruby client for the YNAB API. API documentation available at https://api.ynab.com. Generated from server specification version 1.76.0."
22
+ s.description = "Official Ruby client for the YNAB API. API documentation available at https://api.ynab.com. Generated from server specification version 1.79.0."
24
23
  s.license = "Apache-2.0"
25
24
  s.required_ruby_version = ">= 3.3"
26
25
  s.metadata = {}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ynab
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.9.0
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - YNAB
@@ -50,7 +50,7 @@ dependencies:
50
50
  - !ruby/object:Gem::Version
51
51
  version: 3.6.0
52
52
  description: Official Ruby client for the YNAB API. API documentation available at
53
- https://api.ynab.com. Generated from server specification version 1.76.0.
53
+ https://api.ynab.com. Generated from server specification version 1.79.0.
54
54
  email:
55
55
  - api@ynab.com
56
56
  executables: []
@@ -70,16 +70,6 @@ files:
70
70
  - docs/AccountsApi.md
71
71
  - docs/AccountsResponse.md
72
72
  - docs/AccountsResponseData.md
73
- - docs/BudgetDetail.md
74
- - docs/BudgetDetailResponse.md
75
- - docs/BudgetDetailResponseData.md
76
- - docs/BudgetSettings.md
77
- - docs/BudgetSettingsResponse.md
78
- - docs/BudgetSettingsResponseData.md
79
- - docs/BudgetSummary.md
80
- - docs/BudgetSummaryResponse.md
81
- - docs/BudgetSummaryResponseData.md
82
- - docs/BudgetsApi.md
83
73
  - docs/BulkResponse.md
84
74
  - docs/BulkResponseData.md
85
75
  - docs/BulkResponseDataBulk.md
@@ -96,10 +86,18 @@ files:
96
86
  - docs/DateFormat.md
97
87
  - docs/ErrorDetail.md
98
88
  - docs/ErrorResponse.md
89
+ - docs/ExistingCategory.md
99
90
  - docs/ExistingTransaction.md
100
91
  - docs/HybridTransaction.md
101
92
  - docs/HybridTransactionsResponse.md
102
93
  - docs/HybridTransactionsResponseData.md
94
+ - docs/MoneyMovement.md
95
+ - docs/MoneyMovementGroup.md
96
+ - docs/MoneyMovementGroupsResponse.md
97
+ - docs/MoneyMovementGroupsResponseData.md
98
+ - docs/MoneyMovementsApi.md
99
+ - docs/MoneyMovementsResponse.md
100
+ - docs/MoneyMovementsResponseData.md
103
101
  - docs/MonthDetail.md
104
102
  - docs/MonthDetailResponse.md
105
103
  - docs/MonthDetailResponseData.md
@@ -107,7 +105,9 @@ files:
107
105
  - docs/MonthSummariesResponseData.md
108
106
  - docs/MonthSummary.md
109
107
  - docs/MonthsApi.md
108
+ - docs/NewCategory.md
110
109
  - docs/NewTransaction.md
110
+ - docs/PatchCategoryGroupWrapper.md
111
111
  - docs/PatchCategoryWrapper.md
112
112
  - docs/PatchMonthCategoryWrapper.md
113
113
  - docs/PatchPayeeWrapper.md
@@ -124,13 +124,28 @@ files:
124
124
  - docs/PayeesApi.md
125
125
  - docs/PayeesResponse.md
126
126
  - docs/PayeesResponseData.md
127
+ - docs/PlanDetail.md
128
+ - docs/PlanDetailResponse.md
129
+ - docs/PlanDetailResponseData.md
130
+ - docs/PlanSettings.md
131
+ - docs/PlanSettingsResponse.md
132
+ - docs/PlanSettingsResponseData.md
133
+ - docs/PlanSummary.md
134
+ - docs/PlanSummaryResponse.md
135
+ - docs/PlanSummaryResponseData.md
136
+ - docs/PlansApi.md
127
137
  - docs/PostAccountWrapper.md
138
+ - docs/PostCategoryGroupWrapper.md
139
+ - docs/PostCategoryWrapper.md
128
140
  - docs/PostScheduledTransactionWrapper.md
129
141
  - docs/PostTransactionsWrapper.md
130
142
  - docs/PutScheduledTransactionWrapper.md
131
143
  - docs/PutTransactionWrapper.md
132
144
  - docs/SaveAccount.md
133
145
  - docs/SaveCategory.md
146
+ - docs/SaveCategoryGroup.md
147
+ - docs/SaveCategoryGroupResponse.md
148
+ - docs/SaveCategoryGroupResponseData.md
134
149
  - docs/SaveCategoryResponse.md
135
150
  - docs/SaveCategoryResponseData.md
136
151
  - docs/SaveMonthCategory.md
@@ -168,26 +183,28 @@ files:
168
183
  - docs/UserApi.md
169
184
  - docs/UserResponse.md
170
185
  - docs/UserResponseData.md
171
- - examples/budget-list.rb
172
- - examples/budget-month.rb
173
186
  - examples/category-balance.rb
174
187
  - examples/create-multiple-transactions.rb
175
188
  - examples/create-transaction.rb
189
+ - examples/plan-list.rb
190
+ - examples/plan-month.rb
176
191
  - examples/update-category-budgeted.rb
177
192
  - examples/update-multiple-transactions.rb
178
193
  - lib/ynab.rb
179
194
  - lib/ynab/api/accounts_api.rb
180
- - lib/ynab/api/budgets_api.rb
181
195
  - lib/ynab/api/categories_api.rb
182
196
  - lib/ynab/api/deprecated_api.rb
197
+ - lib/ynab/api/money_movements_api.rb
183
198
  - lib/ynab/api/months_api.rb
184
199
  - lib/ynab/api/payee_locations_api.rb
185
200
  - lib/ynab/api/payees_api.rb
201
+ - lib/ynab/api/plans_api.rb
186
202
  - lib/ynab/api/scheduled_transactions_api.rb
187
203
  - lib/ynab/api/transactions_api.rb
188
204
  - lib/ynab/api/user_api.rb
189
205
  - lib/ynab/api_client.rb
190
206
  - lib/ynab/api_error.rb
207
+ - lib/ynab/api_model_base.rb
191
208
  - lib/ynab/configuration.rb
192
209
  - lib/ynab/models/account.rb
193
210
  - lib/ynab/models/account_response.rb
@@ -195,15 +212,6 @@ files:
195
212
  - lib/ynab/models/account_type.rb
196
213
  - lib/ynab/models/accounts_response.rb
197
214
  - lib/ynab/models/accounts_response_data.rb
198
- - lib/ynab/models/budget_detail.rb
199
- - lib/ynab/models/budget_detail_response.rb
200
- - lib/ynab/models/budget_detail_response_data.rb
201
- - lib/ynab/models/budget_settings.rb
202
- - lib/ynab/models/budget_settings_response.rb
203
- - lib/ynab/models/budget_settings_response_data.rb
204
- - lib/ynab/models/budget_summary.rb
205
- - lib/ynab/models/budget_summary_response.rb
206
- - lib/ynab/models/budget_summary_response_data.rb
207
215
  - lib/ynab/models/bulk_response.rb
208
216
  - lib/ynab/models/bulk_response_data.rb
209
217
  - lib/ynab/models/bulk_response_data_bulk.rb
@@ -219,17 +227,26 @@ files:
219
227
  - lib/ynab/models/date_format.rb
220
228
  - lib/ynab/models/error_detail.rb
221
229
  - lib/ynab/models/error_response.rb
230
+ - lib/ynab/models/existing_category.rb
222
231
  - lib/ynab/models/existing_transaction.rb
223
232
  - lib/ynab/models/hybrid_transaction.rb
224
233
  - lib/ynab/models/hybrid_transactions_response.rb
225
234
  - lib/ynab/models/hybrid_transactions_response_data.rb
235
+ - lib/ynab/models/money_movement.rb
236
+ - lib/ynab/models/money_movement_group.rb
237
+ - lib/ynab/models/money_movement_groups_response.rb
238
+ - lib/ynab/models/money_movement_groups_response_data.rb
239
+ - lib/ynab/models/money_movements_response.rb
240
+ - lib/ynab/models/money_movements_response_data.rb
226
241
  - lib/ynab/models/month_detail.rb
227
242
  - lib/ynab/models/month_detail_response.rb
228
243
  - lib/ynab/models/month_detail_response_data.rb
229
244
  - lib/ynab/models/month_summaries_response.rb
230
245
  - lib/ynab/models/month_summaries_response_data.rb
231
246
  - lib/ynab/models/month_summary.rb
247
+ - lib/ynab/models/new_category.rb
232
248
  - lib/ynab/models/new_transaction.rb
249
+ - lib/ynab/models/patch_category_group_wrapper.rb
233
250
  - lib/ynab/models/patch_category_wrapper.rb
234
251
  - lib/ynab/models/patch_month_category_wrapper.rb
235
252
  - lib/ynab/models/patch_payee_wrapper.rb
@@ -244,13 +261,27 @@ files:
244
261
  - lib/ynab/models/payee_response_data.rb
245
262
  - lib/ynab/models/payees_response.rb
246
263
  - lib/ynab/models/payees_response_data.rb
264
+ - lib/ynab/models/plan_detail.rb
265
+ - lib/ynab/models/plan_detail_response.rb
266
+ - lib/ynab/models/plan_detail_response_data.rb
267
+ - lib/ynab/models/plan_settings.rb
268
+ - lib/ynab/models/plan_settings_response.rb
269
+ - lib/ynab/models/plan_settings_response_data.rb
270
+ - lib/ynab/models/plan_summary.rb
271
+ - lib/ynab/models/plan_summary_response.rb
272
+ - lib/ynab/models/plan_summary_response_data.rb
247
273
  - lib/ynab/models/post_account_wrapper.rb
274
+ - lib/ynab/models/post_category_group_wrapper.rb
275
+ - lib/ynab/models/post_category_wrapper.rb
248
276
  - lib/ynab/models/post_scheduled_transaction_wrapper.rb
249
277
  - lib/ynab/models/post_transactions_wrapper.rb
250
278
  - lib/ynab/models/put_scheduled_transaction_wrapper.rb
251
279
  - lib/ynab/models/put_transaction_wrapper.rb
252
280
  - lib/ynab/models/save_account.rb
253
281
  - lib/ynab/models/save_category.rb
282
+ - lib/ynab/models/save_category_group.rb
283
+ - lib/ynab/models/save_category_group_response.rb
284
+ - lib/ynab/models/save_category_group_response_data.rb
254
285
  - lib/ynab/models/save_category_response.rb
255
286
  - lib/ynab/models/save_category_response_data.rb
256
287
  - lib/ynab/models/save_month_category.rb
@@ -290,20 +321,17 @@ files:
290
321
  - open_api_spec.yaml
291
322
  - openapi-generator-config.yaml
292
323
  - spec/api/accounts_spec.rb
293
- - spec/api/budgets_spec.rb
294
324
  - spec/api/categories_spec.rb
295
325
  - spec/api/months_spec.rb
296
326
  - spec/api/payee_locations_spec.rb
297
327
  - spec/api/payees_spec.rb
328
+ - spec/api/plans_spec.rb
298
329
  - spec/api/scheduled_transactions_spec.rb
299
330
  - spec/api/transactions_spec.rb
300
331
  - spec/api_error_spec.rb
301
332
  - spec/fixtures/vcr_cassettes/account.yml
302
333
  - spec/fixtures/vcr_cassettes/accounts.yml
303
334
  - spec/fixtures/vcr_cassettes/accounts_unauthorized.yml
304
- - spec/fixtures/vcr_cassettes/budget.yml
305
- - spec/fixtures/vcr_cassettes/budgets.yml
306
- - spec/fixtures/vcr_cassettes/budgets_unauthorized.yml
307
335
  - spec/fixtures/vcr_cassettes/bulk_transactions.yml
308
336
  - spec/fixtures/vcr_cassettes/categories.yml
309
337
  - spec/fixtures/vcr_cassettes/categories_unauthorized.yml
@@ -327,6 +355,9 @@ files:
327
355
  - spec/fixtures/vcr_cassettes/payee_transactions.yml
328
356
  - spec/fixtures/vcr_cassettes/payees.yml
329
357
  - spec/fixtures/vcr_cassettes/payees_unauthorized.yml
358
+ - spec/fixtures/vcr_cassettes/plan.yml
359
+ - spec/fixtures/vcr_cassettes/plans.yml
360
+ - spec/fixtures/vcr_cassettes/plans_unauthorized.yml
330
361
  - spec/fixtures/vcr_cassettes/scheduled_transaction.yml
331
362
  - spec/fixtures/vcr_cassettes/scheduled_transactions.yml
332
363
  - spec/fixtures/vcr_cassettes/scheduled_transactions_unauthorized.yml
@@ -367,25 +398,22 @@ required_rubygems_version: !ruby/object:Gem::Requirement
367
398
  - !ruby/object:Gem::Version
368
399
  version: '0'
369
400
  requirements: []
370
- rubygems_version: 3.7.1
401
+ rubygems_version: 4.0.7
371
402
  specification_version: 4
372
403
  summary: Official Ruby client for the YNAB API
373
404
  test_files:
374
405
  - spec/api/accounts_spec.rb
375
- - spec/api/budgets_spec.rb
376
406
  - spec/api/categories_spec.rb
377
407
  - spec/api/months_spec.rb
378
408
  - spec/api/payee_locations_spec.rb
379
409
  - spec/api/payees_spec.rb
410
+ - spec/api/plans_spec.rb
380
411
  - spec/api/scheduled_transactions_spec.rb
381
412
  - spec/api/transactions_spec.rb
382
413
  - spec/api_error_spec.rb
383
414
  - spec/fixtures/vcr_cassettes/account.yml
384
415
  - spec/fixtures/vcr_cassettes/accounts.yml
385
416
  - spec/fixtures/vcr_cassettes/accounts_unauthorized.yml
386
- - spec/fixtures/vcr_cassettes/budget.yml
387
- - spec/fixtures/vcr_cassettes/budgets.yml
388
- - spec/fixtures/vcr_cassettes/budgets_unauthorized.yml
389
417
  - spec/fixtures/vcr_cassettes/bulk_transactions.yml
390
418
  - spec/fixtures/vcr_cassettes/categories.yml
391
419
  - spec/fixtures/vcr_cassettes/categories_unauthorized.yml
@@ -409,6 +437,9 @@ test_files:
409
437
  - spec/fixtures/vcr_cassettes/payee_transactions.yml
410
438
  - spec/fixtures/vcr_cassettes/payees.yml
411
439
  - spec/fixtures/vcr_cassettes/payees_unauthorized.yml
440
+ - spec/fixtures/vcr_cassettes/plan.yml
441
+ - spec/fixtures/vcr_cassettes/plans.yml
442
+ - spec/fixtures/vcr_cassettes/plans_unauthorized.yml
412
443
  - spec/fixtures/vcr_cassettes/scheduled_transaction.yml
413
444
  - spec/fixtures/vcr_cassettes/scheduled_transactions.yml
414
445
  - spec/fixtures/vcr_cassettes/scheduled_transactions_unauthorized.yml
@@ -1,8 +0,0 @@
1
- # YNAB::BudgetSettingsResponseData
2
-
3
- ## Properties
4
-
5
- | Name | Type | Description | Notes |
6
- | ---- | ---- | ----------- | ----- |
7
- | **settings** | [**BudgetSettings**](BudgetSettings.md) | | |
8
-
@@ -1,15 +0,0 @@
1
- # YNAB::BudgetSummary
2
-
3
- ## Properties
4
-
5
- | Name | Type | Description | Notes |
6
- | ---- | ---- | ----------- | ----- |
7
- | **id** | **String** | | |
8
- | **name** | **String** | | |
9
- | **last_modified_on** | **Time** | The last time any changes were made to the budget from either a web or mobile client | [optional] |
10
- | **first_month** | **Date** | The earliest budget month | [optional] |
11
- | **last_month** | **Date** | The latest budget month | [optional] |
12
- | **date_format** | [**DateFormat**](DateFormat.md) | | [optional] |
13
- | **currency_format** | [**CurrencyFormat**](CurrencyFormat.md) | | [optional] |
14
- | **accounts** | [**Array&lt;Account&gt;**](Account.md) | The budget accounts (only included if &#x60;include_accounts&#x3D;true&#x60; specified as query parameter) | [optional] |
15
-
@@ -1,8 +0,0 @@
1
- # YNAB::BudgetSummaryResponse
2
-
3
- ## Properties
4
-
5
- | Name | Type | Description | Notes |
6
- | ---- | ---- | ----------- | ----- |
7
- | **data** | [**BudgetSummaryResponseData**](BudgetSummaryResponseData.md) | | |
8
-
@@ -1,9 +0,0 @@
1
- # YNAB::BudgetSummaryResponseData
2
-
3
- ## Properties
4
-
5
- | Name | Type | Description | Notes |
6
- | ---- | ---- | ----------- | ----- |
7
- | **budgets** | [**Array&lt;BudgetSummary&gt;**](BudgetSummary.md) | | |
8
- | **default_budget** | [**BudgetSummary**](BudgetSummary.md) | | [optional] |
9
-
data/docs/BudgetsApi.md DELETED
@@ -1,68 +0,0 @@
1
- # YNAB::BudgetsApi
2
-
3
- All URIs are relative to *https://api.ynab.com/v1*
4
-
5
- | Method | HTTP request | Description |
6
- | ------ | ------------ | ----------- |
7
- | [**get_budget_by_id**](BudgetsApi.md#get_budget_by_id) | **GET** /budgets/{budget_id} | Single budget |
8
- | [**get_budget_settings_by_id**](BudgetsApi.md#get_budget_settings_by_id) | **GET** /budgets/{budget_id}/settings | Budget Settings |
9
- | [**get_budgets**](BudgetsApi.md#get_budgets) | **GET** /budgets | List budgets |
10
-
11
-
12
- ## get_budget_by_id
13
-
14
- > <BudgetDetailResponse> get_budget_by_id(budget_id, opts)
15
-
16
- Single budget
17
-
18
- Returns a single budget with all related entities. This resource is effectively a full budget export.
19
-
20
- ### Parameters
21
-
22
- | Name | Type | Description | Notes |
23
- | ---- | ---- | ----------- | ----- |
24
- | **budget_id** | **String** | The id of the budget. \&quot;last-used\&quot; can be used to specify the last used budget and \&quot;default\&quot; can be used if default budget selection is enabled (see: https://api.ynab.com/#oauth-default-budget). | |
25
- | **last_knowledge_of_server** | **Integer** | The starting server knowledge. If provided, only entities that have changed since &#x60;last_knowledge_of_server&#x60; will be included. | [optional] |
26
-
27
- ### Return type
28
-
29
- [**BudgetDetailResponse**](BudgetDetailResponse.md)
30
-
31
-
32
- ## get_budget_settings_by_id
33
-
34
- > <BudgetSettingsResponse> get_budget_settings_by_id(budget_id)
35
-
36
- Budget Settings
37
-
38
- Returns settings for a budget
39
-
40
- ### Parameters
41
-
42
- | Name | Type | Description | Notes |
43
- | ---- | ---- | ----------- | ----- |
44
- | **budget_id** | **String** | The id of the budget. \&quot;last-used\&quot; can be used to specify the last used budget and \&quot;default\&quot; can be used if default budget selection is enabled (see: https://api.ynab.com/#oauth-default-budget). | |
45
-
46
- ### Return type
47
-
48
- [**BudgetSettingsResponse**](BudgetSettingsResponse.md)
49
-
50
-
51
- ## get_budgets
52
-
53
- > <BudgetSummaryResponse> get_budgets(opts)
54
-
55
- List budgets
56
-
57
- Returns budgets list with summary information
58
-
59
- ### Parameters
60
-
61
- | Name | Type | Description | Notes |
62
- | ---- | ---- | ----------- | ----- |
63
- | **include_accounts** | **Boolean** | Whether to include the list of budget accounts | [optional] |
64
-
65
- ### Return type
66
-
67
- [**BudgetSummaryResponse**](BudgetSummaryResponse.md)
68
-
@@ -1,55 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'budgets' do
4
- let(:access_token) { '9f1a2c4842b614a771aaae9220fc54ae835e298c4654dc2c9205fc1d7bd1a045' }
5
- let(:client) { YNAB::API.new(access_token, 'api.localhost:3000', false) }
6
- let (:instance) { client.budgets }
7
-
8
- describe 'test an instance of BudgetsApi' do
9
- it 'should create an instance of BudgetsApi' do
10
- expect(instance).to be_instance_of(YNAB::BudgetsApi)
11
- end
12
- end
13
-
14
- describe 'authorization' do
15
- it 'sets the Bearer Auth header correctly' do
16
- VCR.use_cassette("budgets") do
17
- response = instance.get_budgets
18
- expect(client.last_request.options[:headers]["Authorization"]).to eq "Bearer #{access_token}"
19
-
20
- end
21
- end
22
-
23
- it 'throws when unauthorized' do
24
- VCR.use_cassette("budgets_unauthorized") do
25
- client = YNAB::API.new('not_valid_access_token', 'api.localhost:3000', false)
26
- begin
27
- response = client.budgets.get_budgets
28
- rescue YNAB::ApiError => e
29
- expect(e.code).to be 401
30
- expect(client.last_request.response.options[:code]).to be 401
31
- end
32
- end
33
- end
34
- end
35
-
36
- describe 'GET /budgets' do
37
- it 'returns a list of budgets' do
38
- VCR.use_cassette("budgets") do
39
- response = instance.get_budgets
40
- expect(client.last_request.response.options[:code]).to be 200
41
- expect(response.data.budgets.length).to be 4
42
- end
43
- end
44
- end
45
-
46
- describe 'GET /budgets/{budget_id}' do
47
- it 'returns a budget' do
48
- VCR.use_cassette("budget") do
49
- response = instance.get_budget_by_id('f419ac25-6217-4175-88dc-c3136ff5f6fd')
50
- expect(response.data.budget).to be
51
- expect(response.data.budget.name).to eq "ABC"
52
- end
53
- end
54
- end
55
- end