ynab 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4a4d3a0740b445b4056dd6bf489c6ab83c0941c6
4
- data.tar.gz: 04e4894f4d8f7ade62afc56ac7057b915bba3c9d
3
+ metadata.gz: 0db932ecbce95c269779a53c4afaa25ae46d2f79
4
+ data.tar.gz: f23014b51453a6aef7924f53009c9515b7ecf0b4
5
5
  SHA512:
6
- metadata.gz: aa657ced871b1463e5db24f599d657f575bd4a50c3932a021ae761540dfc239af1619acff5953c9afd910e873b715819122947c0ac1ffdea13ee8891736c056d
7
- data.tar.gz: 8c8fd058f98c7f954f7a87320b4f2f055ab6841224d8ee821ac703837689e55879c0a91b2ad722c258dfe1fdf2f2242df25b6128f19969ea728299751722ddb0
6
+ metadata.gz: 1d466d8f2ac544eaa865aa955c259db885f0ac04cd75d6b8a8c3e2f9e5d2603a62cdb1008124743241494246de875441c5c856714e3bfa8f9fa8554f47f4643d
7
+ data.tar.gz: 91d206caa1621b865fba3dfad82be870c51ca08c30ce6138690fe8ecce61463df2aacdabee0fe80536be6a1a5d4684948c54f9cb692b8f06124af37fb8843424
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ynab (1.2.0)
4
+ ynab (1.3.0)
5
5
  json (~> 2.1, >= 2.1.0)
6
6
  typhoeus (~> 1.0, >= 1.0.1)
7
7
 
data/README.md CHANGED
@@ -78,7 +78,7 @@ The following methods are available in this library.
78
78
  - Install dependencies: `bundle`
79
79
  - Generate latest client based on swagger spec: `rake generate`
80
80
  - Run tests: `rake spec` or `rspec`
81
- - Publish: Bump `gemVersion` in config.json and then run `rake publish`
81
+ - Publish to RubyGems: Bump `gemVersion` in config.json and then run `rake publish`
82
82
 
83
83
  ## License
84
84
 
data/Rakefile CHANGED
@@ -36,5 +36,5 @@ task :commit_version_bump do
36
36
  end
37
37
 
38
38
  desc "Bump version, run specs build a gem and release on RubyGems"
39
- task :publish => ['generate', 'spec', 'release']
39
+ task :publish => ['generate', 'commit_version_bump', 'spec', 'release']
40
40
 
data/config.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "gemName": "ynab",
3
3
  "moduleName": "YNAB",
4
- "gemVersion": "1.2.0",
4
+ "gemVersion": "1.3.0",
5
5
  "gemDescription": "Ruby gem wrapper for the YNAB API. Read the documentation at https://api.youneedabudget.com",
6
6
  "gemHomepage": "https://github.com/ynab/ynab-sdk-ruby",
7
7
  "gemLicense": "Apache-2.0",
data/docs/MonthDetail.md CHANGED
@@ -5,8 +5,11 @@ Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **month** | **Date** | |
7
7
  **note** | **String** | |
8
- **to_be_budgeted** | **Integer** | The current balance of the account in milliunits format |
9
- **age_of_money** | **Integer** | |
8
+ **income** | **Integer** | The total amount in transactions categorized to 'Inflow: To be Budgeted' in the month |
9
+ **budgeted** | **Integer** | The total amount budgeted in the month |
10
+ **activity** | **Integer** | The total amount in transactions in the month, excluding those categorized to 'Inflow: To be Budgeted' |
11
+ **to_be_budgeted** | **Integer** | The available amount for 'To be Budgeted' |
12
+ **age_of_money** | **Integer** | The Age of Money as of the month |
10
13
  **categories** | [**Array<Category>**](Category.md) | The budget month categories |
11
14
 
12
15
 
data/docs/MonthSummary.md CHANGED
@@ -5,7 +5,10 @@ Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **month** | **Date** | |
7
7
  **note** | **String** | |
8
- **to_be_budgeted** | **Integer** | The current balance of the account in milliunits format |
9
- **age_of_money** | **Integer** | |
8
+ **income** | **Integer** | The total amount in transactions categorized to 'Inflow: To be Budgeted' in the month |
9
+ **budgeted** | **Integer** | The total amount budgeted in the month |
10
+ **activity** | **Integer** | The total amount in transactions in the month, excluding those categorized to 'Inflow: To be Budgeted' |
11
+ **to_be_budgeted** | **Integer** | The available amount for 'To be Budgeted' |
12
+ **age_of_money** | **Integer** | The Age of Money as of the month |
10
13
 
11
14
 
data/docs/MonthsApi.md CHANGED
@@ -20,7 +20,7 @@ Returns a single budget month
20
20
  Name | Type | Description | Notes
21
21
  ------------- | ------------- | ------------- | -------------
22
22
  **budget_id** | [**String**](.md)| The ID of the Budget. |
23
- **month** | **Date**| The Budget Month. \"current\" can also be used to specify the current calendar month (UTC). |
23
+ **month** | **Date**| The Budget Month in ISO format (e.g. 2016-12-01). \"current\" can also be used to specify the current calendar month (UTC). |
24
24
 
25
25
  ### Return type
26
26
 
@@ -1,4 +1,3 @@
1
- $:.unshift('../lib')
2
1
  require 'ynab'
3
2
 
4
3
  def print_budget_list
@@ -22,4 +21,4 @@ def print_budget_list
22
21
  end
23
22
  end
24
23
 
25
- print_budget_list()
24
+ print_budget_list
@@ -1,4 +1,3 @@
1
- $:.unshift('../lib')
2
1
  require 'ynab'
3
2
  require 'date'
4
3
 
@@ -33,4 +32,4 @@ def print_budget_month
33
32
  end
34
33
  end
35
34
 
36
- print_budget_month()
35
+ print_budget_month
@@ -1,4 +1,3 @@
1
- $:.unshift('../lib')
2
1
  require 'ynab'
3
2
 
4
3
  def print_category_info
@@ -24,4 +23,4 @@ def print_category_info
24
23
  end
25
24
  end
26
25
 
27
- print_category_info()
26
+ print_category_info
@@ -0,0 +1,31 @@
1
+ require 'date'
2
+ require 'ynab'
3
+
4
+ def create_transaction
5
+ access_token = 'bf0cbb14b4330-not-real-3de12e66a389eaafe2'
6
+ ynab = YNAB::API.new(access_token)
7
+
8
+ budget_id = 'f968197b-2863-not-real-c2406dbe7f0d'
9
+ account_id = 'f6fe07cb-c895-not-real-acfac0b7f026'
10
+ category_id = 'a191ac84-de09-not-real-6c5ed8cfdabe'
11
+
12
+ begin
13
+ ynab.transactions.create_transaction(budget_id, {
14
+ transaction: {
15
+ account_id: account_id,
16
+ category_id: category_id,
17
+ date: Date.today,
18
+ payee_name: 'A Test Payee',
19
+ memo: 'I was created through the API',
20
+ cleared: 'Cleared',
21
+ approved: true,
22
+ flag_color: 'Blue',
23
+ amount: 20000
24
+ }
25
+ })
26
+ rescue => e
27
+ puts "ERROR: id=#{e.id}; name=#{e.name}; detail: #{e.detail}"
28
+ end
29
+ end
30
+
31
+ create_transaction
@@ -22,7 +22,7 @@ module YNAB
22
22
  # Single budget month
23
23
  # Returns a single budget month
24
24
  # @param budget_id The ID of the Budget.
25
- # @param month The Budget Month. \"current\" can also be used to specify the current calendar month (UTC).
25
+ # @param month The Budget Month in ISO format (e.g. 2016-12-01). \"current\" can also be used to specify the current calendar month (UTC).
26
26
  # @param [Hash] opts the optional parameters
27
27
  # @return [MonthDetailResponse]
28
28
  def get_budget_month(budget_id, month, opts = {})
@@ -33,7 +33,7 @@ module YNAB
33
33
  # Single budget month
34
34
  # Returns a single budget month
35
35
  # @param budget_id The ID of the Budget.
36
- # @param month The Budget Month. \"current\" can also be used to specify the current calendar month (UTC).
36
+ # @param month The Budget Month in ISO format (e.g. 2016-12-01). \"current\" can also be used to specify the current calendar month (UTC).
37
37
  # @param [Hash] opts the optional parameters
38
38
  # @return [Array<(MonthDetailResponse, Fixnum, Hash)>] MonthDetailResponse data, response status code and response headers
39
39
  def get_budget_month_with_http_info(budget_id, month, opts = {})
@@ -27,12 +27,38 @@ module YNAB
27
27
  super arg
28
28
  end
29
29
 
30
- arg.each do |k, v|
31
- instance_variable_set "@#{k}", v
30
+ arg.each do |key, value|
31
+ if respond_to?("#{key}=")
32
+ send "#{key}=", value
33
+ else
34
+ instance_variable_set "@#{key}", value
35
+ end
32
36
  end
33
37
  else
34
38
  super arg
35
39
  end
36
40
  end
41
+
42
+ def response_body=(value)
43
+ @response_body = value
44
+
45
+ begin
46
+ @error_parsed = JSON.parse(value)
47
+ rescue
48
+ @error_parsed = nil
49
+ end
50
+ end
51
+
52
+ def id
53
+ (@error_parsed || {}).fetch('error', {})['id']
54
+ end
55
+
56
+ def name
57
+ (@error_parsed || {}).fetch('error', {})['name']
58
+ end
59
+
60
+ def detail
61
+ (@error_parsed || {}).fetch('error', {})['detail']
62
+ end
37
63
  end
38
64
  end
@@ -18,9 +18,19 @@ module YNAB
18
18
 
19
19
  attr_accessor :note
20
20
 
21
- # The current balance of the account in milliunits format
21
+ # The total amount in transactions categorized to 'Inflow: To be Budgeted' in the month
22
+ attr_accessor :income
23
+
24
+ # The total amount budgeted in the month
25
+ attr_accessor :budgeted
26
+
27
+ # The total amount in transactions in the month, excluding those categorized to 'Inflow: To be Budgeted'
28
+ attr_accessor :activity
29
+
30
+ # The available amount for 'To be Budgeted'
22
31
  attr_accessor :to_be_budgeted
23
32
 
33
+ # The Age of Money as of the month
24
34
  attr_accessor :age_of_money
25
35
 
26
36
  # The budget month categories
@@ -31,6 +41,9 @@ module YNAB
31
41
  {
32
42
  :'month' => :'month',
33
43
  :'note' => :'note',
44
+ :'income' => :'income',
45
+ :'budgeted' => :'budgeted',
46
+ :'activity' => :'activity',
34
47
  :'to_be_budgeted' => :'to_be_budgeted',
35
48
  :'age_of_money' => :'age_of_money',
36
49
  :'categories' => :'categories'
@@ -42,6 +55,9 @@ module YNAB
42
55
  {
43
56
  :'month' => :'Date',
44
57
  :'note' => :'String',
58
+ :'income' => :'Integer',
59
+ :'budgeted' => :'Integer',
60
+ :'activity' => :'Integer',
45
61
  :'to_be_budgeted' => :'Integer',
46
62
  :'age_of_money' => :'Integer',
47
63
  :'categories' => :'Array<Category>'
@@ -64,6 +80,18 @@ module YNAB
64
80
  self.note = attributes[:'note']
65
81
  end
66
82
 
83
+ if attributes.has_key?(:'income')
84
+ self.income = attributes[:'income']
85
+ end
86
+
87
+ if attributes.has_key?(:'budgeted')
88
+ self.budgeted = attributes[:'budgeted']
89
+ end
90
+
91
+ if attributes.has_key?(:'activity')
92
+ self.activity = attributes[:'activity']
93
+ end
94
+
67
95
  if attributes.has_key?(:'to_be_budgeted')
68
96
  self.to_be_budgeted = attributes[:'to_be_budgeted']
69
97
  end
@@ -91,6 +119,18 @@ module YNAB
91
119
  invalid_properties.push('invalid value for "note", note cannot be nil.')
92
120
  end
93
121
 
122
+ if @income.nil?
123
+ invalid_properties.push('invalid value for "income", income cannot be nil.')
124
+ end
125
+
126
+ if @budgeted.nil?
127
+ invalid_properties.push('invalid value for "budgeted", budgeted cannot be nil.')
128
+ end
129
+
130
+ if @activity.nil?
131
+ invalid_properties.push('invalid value for "activity", activity cannot be nil.')
132
+ end
133
+
94
134
  if @to_be_budgeted.nil?
95
135
  invalid_properties.push('invalid value for "to_be_budgeted", to_be_budgeted cannot be nil.')
96
136
  end
@@ -111,6 +151,9 @@ module YNAB
111
151
  def valid?
112
152
  return false if @month.nil?
113
153
  return false if @note.nil?
154
+ return false if @income.nil?
155
+ return false if @budgeted.nil?
156
+ return false if @activity.nil?
114
157
  return false if @to_be_budgeted.nil?
115
158
  return false if @age_of_money.nil?
116
159
  return false if @categories.nil?
@@ -124,6 +167,9 @@ module YNAB
124
167
  self.class == o.class &&
125
168
  month == o.month &&
126
169
  note == o.note &&
170
+ income == o.income &&
171
+ budgeted == o.budgeted &&
172
+ activity == o.activity &&
127
173
  to_be_budgeted == o.to_be_budgeted &&
128
174
  age_of_money == o.age_of_money &&
129
175
  categories == o.categories
@@ -138,7 +184,7 @@ module YNAB
138
184
  # Calculates hash code according to all attributes.
139
185
  # @return [Fixnum] Hash code
140
186
  def hash
141
- [month, note, to_be_budgeted, age_of_money, categories].hash
187
+ [month, note, income, budgeted, activity, to_be_budgeted, age_of_money, categories].hash
142
188
  end
143
189
 
144
190
  # Builds the object from hash
@@ -18,9 +18,19 @@ module YNAB
18
18
 
19
19
  attr_accessor :note
20
20
 
21
- # The current balance of the account in milliunits format
21
+ # The total amount in transactions categorized to 'Inflow: To be Budgeted' in the month
22
+ attr_accessor :income
23
+
24
+ # The total amount budgeted in the month
25
+ attr_accessor :budgeted
26
+
27
+ # The total amount in transactions in the month, excluding those categorized to 'Inflow: To be Budgeted'
28
+ attr_accessor :activity
29
+
30
+ # The available amount for 'To be Budgeted'
22
31
  attr_accessor :to_be_budgeted
23
32
 
33
+ # The Age of Money as of the month
24
34
  attr_accessor :age_of_money
25
35
 
26
36
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -28,6 +38,9 @@ module YNAB
28
38
  {
29
39
  :'month' => :'month',
30
40
  :'note' => :'note',
41
+ :'income' => :'income',
42
+ :'budgeted' => :'budgeted',
43
+ :'activity' => :'activity',
31
44
  :'to_be_budgeted' => :'to_be_budgeted',
32
45
  :'age_of_money' => :'age_of_money'
33
46
  }
@@ -38,6 +51,9 @@ module YNAB
38
51
  {
39
52
  :'month' => :'Date',
40
53
  :'note' => :'String',
54
+ :'income' => :'Integer',
55
+ :'budgeted' => :'Integer',
56
+ :'activity' => :'Integer',
41
57
  :'to_be_budgeted' => :'Integer',
42
58
  :'age_of_money' => :'Integer'
43
59
  }
@@ -59,6 +75,18 @@ module YNAB
59
75
  self.note = attributes[:'note']
60
76
  end
61
77
 
78
+ if attributes.has_key?(:'income')
79
+ self.income = attributes[:'income']
80
+ end
81
+
82
+ if attributes.has_key?(:'budgeted')
83
+ self.budgeted = attributes[:'budgeted']
84
+ end
85
+
86
+ if attributes.has_key?(:'activity')
87
+ self.activity = attributes[:'activity']
88
+ end
89
+
62
90
  if attributes.has_key?(:'to_be_budgeted')
63
91
  self.to_be_budgeted = attributes[:'to_be_budgeted']
64
92
  end
@@ -80,6 +108,18 @@ module YNAB
80
108
  invalid_properties.push('invalid value for "note", note cannot be nil.')
81
109
  end
82
110
 
111
+ if @income.nil?
112
+ invalid_properties.push('invalid value for "income", income cannot be nil.')
113
+ end
114
+
115
+ if @budgeted.nil?
116
+ invalid_properties.push('invalid value for "budgeted", budgeted cannot be nil.')
117
+ end
118
+
119
+ if @activity.nil?
120
+ invalid_properties.push('invalid value for "activity", activity cannot be nil.')
121
+ end
122
+
83
123
  if @to_be_budgeted.nil?
84
124
  invalid_properties.push('invalid value for "to_be_budgeted", to_be_budgeted cannot be nil.')
85
125
  end
@@ -96,6 +136,9 @@ module YNAB
96
136
  def valid?
97
137
  return false if @month.nil?
98
138
  return false if @note.nil?
139
+ return false if @income.nil?
140
+ return false if @budgeted.nil?
141
+ return false if @activity.nil?
99
142
  return false if @to_be_budgeted.nil?
100
143
  return false if @age_of_money.nil?
101
144
  true
@@ -108,6 +151,9 @@ module YNAB
108
151
  self.class == o.class &&
109
152
  month == o.month &&
110
153
  note == o.note &&
154
+ income == o.income &&
155
+ budgeted == o.budgeted &&
156
+ activity == o.activity &&
111
157
  to_be_budgeted == o.to_be_budgeted &&
112
158
  age_of_money == o.age_of_money
113
159
  end
@@ -121,7 +167,7 @@ module YNAB
121
167
  # Calculates hash code according to all attributes.
122
168
  # @return [Fixnum] Hash code
123
169
  def hash
124
- [month, note, to_be_budgeted, age_of_money].hash
170
+ [month, note, income, budgeted, activity, to_be_budgeted, age_of_money].hash
125
171
  end
126
172
 
127
173
  # Builds the object from hash
data/lib/ynab/version.rb CHANGED
@@ -11,5 +11,5 @@ Swagger Codegen version: 2.4.0-SNAPSHOT
11
11
  =end
12
12
 
13
13
  module YNAB
14
- VERSION = '1.2.0'
14
+ VERSION = '1.3.0'
15
15
  end
Binary file
data/spec-v1-swagger.json CHANGED
@@ -644,7 +644,7 @@
644
644
  "name": "month",
645
645
  "in": "path",
646
646
  "description":
647
- "The Budget Month. \"current\" can also be used to specify the current calendar month (UTC).",
647
+ "The Budget Month in ISO format (e.g. 2016-12-01). \"current\" can also be used to specify the current calendar month (UTC).",
648
648
  "required": true,
649
649
  "type": "string",
650
650
  "format": "date"
@@ -764,6 +764,12 @@
764
764
  "schema": {
765
765
  "$ref": "#/definitions/ErrorResponse"
766
766
  }
767
+ },
768
+ "409": {
769
+ "description": "A transaction on the same account with the same import_id already exists.",
770
+ "schema": {
771
+ "$ref": "#/definitions/ErrorResponse"
772
+ }
767
773
  }
768
774
  }
769
775
  }
@@ -2492,7 +2498,7 @@
2492
2498
  },
2493
2499
  "MonthSummary": {
2494
2500
  "type": "object",
2495
- "required": ["month", "note", "to_be_budgeted", "age_of_money"],
2501
+ "required": ["month", "note", "income", "budgeted", "activity", "to_be_budgeted", "age_of_money"],
2496
2502
  "properties": {
2497
2503
  "month": {
2498
2504
  "type": "string",
@@ -2501,14 +2507,33 @@
2501
2507
  "note": {
2502
2508
  "type": "string"
2503
2509
  },
2510
+ "income": {
2511
+ "type": "integer",
2512
+ "format": "1234000",
2513
+ "description":
2514
+ "The total amount in transactions categorized to 'Inflow: To be Budgeted' in the month"
2515
+ },
2516
+ "budgeted": {
2517
+ "type": "integer",
2518
+ "format": "1234000",
2519
+ "description":
2520
+ "The total amount budgeted in the month"
2521
+ },
2522
+ "activity": {
2523
+ "type": "integer",
2524
+ "format": "1234000",
2525
+ "description":
2526
+ "The total amount in transactions in the month, excluding those categorized to 'Inflow: To be Budgeted'"
2527
+ },
2504
2528
  "to_be_budgeted": {
2505
2529
  "type": "integer",
2506
2530
  "format": "1234000",
2507
2531
  "description":
2508
- "The current balance of the account in milliunits format"
2532
+ "The available amount for 'To be Budgeted'"
2509
2533
  },
2510
2534
  "age_of_money": {
2511
- "type": "integer"
2535
+ "type": "integer",
2536
+ "description": "The Age of Money as of the month"
2512
2537
  }
2513
2538
  }
2514
2539
  },
@@ -0,0 +1,25 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'APIError' do
4
+ it 'should parse error correctly' do
5
+ response_body = '{"error":{"id":"401","name":"unauthorized","detail":"Unauthorized"}}'
6
+ error = YNAB::ApiError.new({ code: 400, response_headers: nil, response_body: response_body })
7
+ expect(error.code).to eq 400
8
+ expect(error.response_body).to eq response_body
9
+
10
+ expect(error.id).to eq '401'
11
+ expect(error.name).to eq 'unauthorized'
12
+ expect(error.detail).to eq 'Unauthorized'
13
+ end
14
+
15
+ it 'should gracefully handle an unparsable error' do
16
+ response_body = '{"strange_object":{"key":"an_interesting_key"}}'
17
+ error = YNAB::ApiError.new({ code: 201, response_headers: nil, response_body: response_body })
18
+ expect(error.code).to eq 201
19
+ expect(error.response_body).to eq response_body
20
+
21
+ expect(error.id).to_not be
22
+ expect(error.name).to_not be
23
+ expect(error.detail).to_not be
24
+ end
25
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ynab
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - You Need A Budget, LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-18 00:00:00.000000000 Z
11
+ date: 2018-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -184,6 +184,7 @@ files:
184
184
  - examples/budget-list.rb
185
185
  - examples/budget-month.rb
186
186
  - examples/category-balance.rb
187
+ - examples/create-transaction.rb
187
188
  - lib/ynab.rb
188
189
  - lib/ynab/api/accounts_api.rb
189
190
  - lib/ynab/api/budgets_api.rb
@@ -269,7 +270,7 @@ files:
269
270
  - lib/ynab/version.rb
270
271
  - pkg/ynab-1.0.0.gem
271
272
  - pkg/ynab-1.1.0.gem
272
- - pkg/ynab-1.2.0.gem
273
+ - pkg/ynab-1.3.0.gem
273
274
  - spec-v1-swagger.json
274
275
  - spec/api/accounts_spec.rb
275
276
  - spec/api/budgets_spec.rb
@@ -279,6 +280,7 @@ files:
279
280
  - spec/api/payees_spec.rb
280
281
  - spec/api/scheduled_transactions_spec.rb
281
282
  - spec/api/transactions_spec.rb
283
+ - spec/api_error_spec.rb
282
284
  - spec/fixtures/.DS_Store
283
285
  - spec/fixtures/vcr_cassettes/account.yml
284
286
  - spec/fixtures/vcr_cassettes/accounts.yml
@@ -348,6 +350,7 @@ test_files:
348
350
  - spec/api/budgets_spec.rb
349
351
  - spec/api/months_spec.rb
350
352
  - spec/api/transactions_spec.rb
353
+ - spec/api_error_spec.rb
351
354
  - spec/fixtures/.DS_Store
352
355
  - spec/fixtures/vcr_cassettes/payee_transactions.yml
353
356
  - spec/fixtures/vcr_cassettes/categories.yml
data/pkg/ynab-1.2.0.gem DELETED
Binary file