ynab 0.4.0 → 0.5.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/config.json +1 -1
- data/docs/HybridTransaction.md +21 -0
- data/docs/HybridTransactionsResponse.md +8 -0
- data/docs/HybridTransactionsWrapper.md +8 -0
- data/docs/ScheduledSubTransaction.md +1 -1
- data/docs/ScheduledTransactionDetail.md +4 -1
- data/docs/SubTransaction.md +1 -1
- data/docs/TransactionDetail.md +3 -1
- data/docs/TransactionsApi.md +4 -4
- data/lib/ynab.rb +4 -0
- data/lib/ynab/api/transactions_api.rb +6 -6
- data/lib/ynab/models/hybrid_transaction.rb +439 -0
- data/lib/ynab/models/hybrid_transactions_response.rb +193 -0
- data/lib/ynab/models/hybrid_transactions_wrapper.rb +195 -0
- data/lib/ynab/models/scheduled_sub_transaction.rb +1 -1
- data/lib/ynab/models/scheduled_transaction_detail.rb +44 -2
- data/lib/ynab/models/sub_transaction.rb +1 -1
- data/lib/ynab/models/transaction_detail.rb +30 -2
- data/lib/ynab/version.rb +1 -1
- data/spec-v1-swagger.json +79 -8
- data/spec/api/transactions_spec.rb +24 -2
- data/spec/fixtures/vcr_cassettes/category_transactions.yml +46 -0
- data/spec/fixtures/vcr_cassettes/payee_transactions.yml +46 -0
- metadata +12 -2
@@ -44,7 +44,11 @@ module YnabApi
|
|
44
44
|
# If the Transaction was imported, this field is a unique (by account) import identifier. If this transaction was imported through File Based Import or Direct Import and not through the API, the import_id will have the format: 'YNAB:[milliunit_amount]:[iso_date]:[occurrence]'. For example, a transaction dated 2015-12-30 in the amount of -$294.23 USD would have an import_id of 'YNAB:-294230:2015-12-30:1'. If a second transaction on the same account was imported and had the same date and same amount, its import_id would be 'YNAB:-294230:2015-12-30:2'.
|
45
45
|
attr_accessor :import_id
|
46
46
|
|
47
|
-
|
47
|
+
attr_accessor :payee_name
|
48
|
+
|
49
|
+
attr_accessor :category_name
|
50
|
+
|
51
|
+
# If a split transaction, the subtransactions.
|
48
52
|
attr_accessor :subtransactions
|
49
53
|
|
50
54
|
class EnumAttributeValidator
|
@@ -84,6 +88,8 @@ module YnabApi
|
|
84
88
|
:'category_id' => :'category_id',
|
85
89
|
:'transfer_account_id' => :'transfer_account_id',
|
86
90
|
:'import_id' => :'import_id',
|
91
|
+
:'payee_name' => :'payee_name',
|
92
|
+
:'category_name' => :'category_name',
|
87
93
|
:'subtransactions' => :'subtransactions'
|
88
94
|
}
|
89
95
|
end
|
@@ -103,6 +109,8 @@ module YnabApi
|
|
103
109
|
:'category_id' => :'String',
|
104
110
|
:'transfer_account_id' => :'String',
|
105
111
|
:'import_id' => :'String',
|
112
|
+
:'payee_name' => :'String',
|
113
|
+
:'category_name' => :'String',
|
106
114
|
:'subtransactions' => :'Array<SubTransaction>'
|
107
115
|
}
|
108
116
|
end
|
@@ -163,6 +171,14 @@ module YnabApi
|
|
163
171
|
self.import_id = attributes[:'import_id']
|
164
172
|
end
|
165
173
|
|
174
|
+
if attributes.has_key?(:'payee_name')
|
175
|
+
self.payee_name = attributes[:'payee_name']
|
176
|
+
end
|
177
|
+
|
178
|
+
if attributes.has_key?(:'category_name')
|
179
|
+
self.category_name = attributes[:'category_name']
|
180
|
+
end
|
181
|
+
|
166
182
|
if attributes.has_key?(:'subtransactions')
|
167
183
|
if (value = attributes[:'subtransactions']).is_a?(Array)
|
168
184
|
self.subtransactions = value
|
@@ -223,6 +239,14 @@ module YnabApi
|
|
223
239
|
invalid_properties.push("invalid value for 'import_id', import_id cannot be nil.")
|
224
240
|
end
|
225
241
|
|
242
|
+
if @payee_name.nil?
|
243
|
+
invalid_properties.push("invalid value for 'payee_name', payee_name cannot be nil.")
|
244
|
+
end
|
245
|
+
|
246
|
+
if @category_name.nil?
|
247
|
+
invalid_properties.push("invalid value for 'category_name', category_name cannot be nil.")
|
248
|
+
end
|
249
|
+
|
226
250
|
if @subtransactions.nil?
|
227
251
|
invalid_properties.push("invalid value for 'subtransactions', subtransactions cannot be nil.")
|
228
252
|
end
|
@@ -249,6 +273,8 @@ module YnabApi
|
|
249
273
|
return false if @category_id.nil?
|
250
274
|
return false if @transfer_account_id.nil?
|
251
275
|
return false if @import_id.nil?
|
276
|
+
return false if @payee_name.nil?
|
277
|
+
return false if @category_name.nil?
|
252
278
|
return false if @subtransactions.nil?
|
253
279
|
return true
|
254
280
|
end
|
@@ -290,6 +316,8 @@ module YnabApi
|
|
290
316
|
category_id == o.category_id &&
|
291
317
|
transfer_account_id == o.transfer_account_id &&
|
292
318
|
import_id == o.import_id &&
|
319
|
+
payee_name == o.payee_name &&
|
320
|
+
category_name == o.category_name &&
|
293
321
|
subtransactions == o.subtransactions
|
294
322
|
end
|
295
323
|
|
@@ -302,7 +330,7 @@ module YnabApi
|
|
302
330
|
# Calculates hash code according to all attributes.
|
303
331
|
# @return [Fixnum] Hash code
|
304
332
|
def hash
|
305
|
-
[id, date, amount, memo, cleared, approved, flag_color, account_id, payee_id, category_id, transfer_account_id, import_id, subtransactions].hash
|
333
|
+
[id, date, amount, memo, cleared, approved, flag_color, account_id, payee_id, category_id, transfer_account_id, import_id, payee_name, category_name, subtransactions].hash
|
306
334
|
end
|
307
335
|
|
308
336
|
# Builds the object from hash
|
data/lib/ynab/version.rb
CHANGED
data/spec-v1-swagger.json
CHANGED
@@ -869,7 +869,7 @@
|
|
869
869
|
"200": {
|
870
870
|
"description": "The list of requested Transactions.",
|
871
871
|
"schema": {
|
872
|
-
"$ref": "#/definitions/
|
872
|
+
"$ref": "#/definitions/HybridTransactionsResponse"
|
873
873
|
}
|
874
874
|
},
|
875
875
|
"404": {
|
@@ -924,7 +924,7 @@
|
|
924
924
|
"200": {
|
925
925
|
"description": "The list of requested Transactions.",
|
926
926
|
"schema": {
|
927
|
-
"$ref": "#/definitions/
|
927
|
+
"$ref": "#/definitions/HybridTransactionsResponse"
|
928
928
|
}
|
929
929
|
},
|
930
930
|
"404": {
|
@@ -1276,6 +1276,7 @@
|
|
1276
1276
|
"$ref": "#/definitions/BudgetSummary"
|
1277
1277
|
},
|
1278
1278
|
{
|
1279
|
+
"type": "object",
|
1279
1280
|
"properties": {
|
1280
1281
|
"accounts": {
|
1281
1282
|
"type": "array",
|
@@ -1510,6 +1511,7 @@
|
|
1510
1511
|
"$ref": "#/definitions/CategoryGroup"
|
1511
1512
|
},
|
1512
1513
|
{
|
1514
|
+
"type": "object",
|
1513
1515
|
"required": ["categories"],
|
1514
1516
|
"properties": {
|
1515
1517
|
"categories": {
|
@@ -1705,6 +1707,27 @@
|
|
1705
1707
|
}
|
1706
1708
|
}
|
1707
1709
|
},
|
1710
|
+
"HybridTransactionsResponse": {
|
1711
|
+
"type": "object",
|
1712
|
+
"required": ["data"],
|
1713
|
+
"properties": {
|
1714
|
+
"data": {
|
1715
|
+
"$ref": "#/definitions/HybridTransactionsWrapper"
|
1716
|
+
}
|
1717
|
+
}
|
1718
|
+
},
|
1719
|
+
"HybridTransactionsWrapper": {
|
1720
|
+
"type": "object",
|
1721
|
+
"required": ["transactions"],
|
1722
|
+
"properties": {
|
1723
|
+
"transactions": {
|
1724
|
+
"type": "array",
|
1725
|
+
"items": {
|
1726
|
+
"$ref": "#/definitions/HybridTransaction"
|
1727
|
+
}
|
1728
|
+
}
|
1729
|
+
}
|
1730
|
+
},
|
1708
1731
|
"TransactionResponse": {
|
1709
1732
|
"type": "object",
|
1710
1733
|
"required": ["data"],
|
@@ -1799,11 +1822,18 @@
|
|
1799
1822
|
"$ref": "#/definitions/TransactionSummary"
|
1800
1823
|
},
|
1801
1824
|
{
|
1802
|
-
"
|
1825
|
+
"type": "object",
|
1826
|
+
"required": ["payee_name", "category_name", "subtransactions"],
|
1803
1827
|
"properties": {
|
1828
|
+
"payee_name": {
|
1829
|
+
"type": "string"
|
1830
|
+
},
|
1831
|
+
"category_name": {
|
1832
|
+
"type": "string"
|
1833
|
+
},
|
1804
1834
|
"subtransactions": {
|
1805
1835
|
"type": "array",
|
1806
|
-
"description": "If a split transaction, the
|
1836
|
+
"description": "If a split transaction, the subtransactions.",
|
1807
1837
|
"items": {
|
1808
1838
|
"$ref": "#/definitions/SubTransaction"
|
1809
1839
|
}
|
@@ -1812,6 +1842,31 @@
|
|
1812
1842
|
}
|
1813
1843
|
]
|
1814
1844
|
},
|
1845
|
+
"HybridTransaction": {
|
1846
|
+
"allOf": [
|
1847
|
+
{
|
1848
|
+
"$ref": "#/definitions/TransactionSummary"
|
1849
|
+
},
|
1850
|
+
{
|
1851
|
+
"type": "object",
|
1852
|
+
"required": ["type", "parent_transaction_id"],
|
1853
|
+
"properties": {
|
1854
|
+
"type": {
|
1855
|
+
"type": "string",
|
1856
|
+
"enum": ["transaction", "subtransaction"],
|
1857
|
+
"description":
|
1858
|
+
"Whether the hybrid transaction represents a regular transaction or a subtransaction"
|
1859
|
+
},
|
1860
|
+
"parent_transaction_id": {
|
1861
|
+
"type": "string",
|
1862
|
+
"format": "uuid",
|
1863
|
+
"description":
|
1864
|
+
"For subtransaction types, this is the id of the pararent transaction. For transaction types, this id will be always be null."
|
1865
|
+
}
|
1866
|
+
}
|
1867
|
+
}
|
1868
|
+
]
|
1869
|
+
},
|
1815
1870
|
"SaveTransactionWrapper": {
|
1816
1871
|
"type": "object",
|
1817
1872
|
"required": ["transaction"],
|
@@ -1954,7 +2009,7 @@
|
|
1954
2009
|
"amount": {
|
1955
2010
|
"type": "number",
|
1956
2011
|
"format": "1234000",
|
1957
|
-
"description": "The
|
2012
|
+
"description": "The subtransaction amount in milliunits format"
|
1958
2013
|
},
|
1959
2014
|
"memo": {
|
1960
2015
|
"type": "string"
|
@@ -2103,12 +2158,27 @@
|
|
2103
2158
|
"$ref": "#/definitions/ScheduledTransactionSummary"
|
2104
2159
|
},
|
2105
2160
|
{
|
2106
|
-
"
|
2161
|
+
"type": "object",
|
2162
|
+
"required": [
|
2163
|
+
"account_name",
|
2164
|
+
"payee_name",
|
2165
|
+
"category_name",
|
2166
|
+
"subtransactions"
|
2167
|
+
],
|
2107
2168
|
"properties": {
|
2169
|
+
"account_name": {
|
2170
|
+
"type": "string"
|
2171
|
+
},
|
2172
|
+
"payee_name": {
|
2173
|
+
"type": "string"
|
2174
|
+
},
|
2175
|
+
"category_name": {
|
2176
|
+
"type": "string"
|
2177
|
+
},
|
2108
2178
|
"subtransactions": {
|
2109
2179
|
"type": "array",
|
2110
2180
|
"description":
|
2111
|
-
"If a split scheduled transaction, the
|
2181
|
+
"If a split scheduled transaction, the subtransactions.",
|
2112
2182
|
"items": {
|
2113
2183
|
"$ref": "#/definitions/ScheduledSubTransaction"
|
2114
2184
|
}
|
@@ -2141,7 +2211,7 @@
|
|
2141
2211
|
"type": "number",
|
2142
2212
|
"format": "1234000",
|
2143
2213
|
"description":
|
2144
|
-
"The scheduled
|
2214
|
+
"The scheduled subtransaction amount in milliunits format"
|
2145
2215
|
},
|
2146
2216
|
"memo": {
|
2147
2217
|
"type": "string"
|
@@ -2229,6 +2299,7 @@
|
|
2229
2299
|
"$ref": "#/definitions/MonthSummary"
|
2230
2300
|
},
|
2231
2301
|
{
|
2302
|
+
"type": "object",
|
2232
2303
|
"required": ["categories"],
|
2233
2304
|
"properties": {
|
2234
2305
|
"categories": {
|
@@ -4,6 +4,8 @@ require 'pp'
|
|
4
4
|
describe 'transactions' do
|
5
5
|
let(:access_token) { '9f1a2c4842b614a771aaae9220fc54ae835e298c4654dc2c9205fc1d7bd1a045' }
|
6
6
|
let(:budget_id) { 'f419ac25-6217-4175-88dc-c3136ff5f6fd' }
|
7
|
+
let(:category_id) { '84ffe61c-081c-44db-ad23-6ee809206c40' }
|
8
|
+
let(:payee_id) { '2676f959-c5de-4db2-8d3f-2503777b25fb' }
|
7
9
|
let(:client) { YnabApi::Client.new(access_token, 'api.localhost:3000', false) }
|
8
10
|
let (:instance) { client.transactions }
|
9
11
|
|
@@ -45,8 +47,28 @@ describe 'transactions' do
|
|
45
47
|
end
|
46
48
|
end
|
47
49
|
|
48
|
-
describe 'GET /budgets/{budget_id}/
|
49
|
-
it "returns a
|
50
|
+
describe 'GET /budgets/{budget_id}/category/{category_id}/transactions' do
|
51
|
+
it "returns a list of transactions for a category" do
|
52
|
+
VCR.use_cassette("category_transactions") do
|
53
|
+
response = instance.get_transactions_by_category(budget_id, category_id)
|
54
|
+
expect(client.last_request.response.options[:code]).to be 200
|
55
|
+
expect(response.data.transactions.length).to be 3
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
describe 'GET /budgets/{budget_id}/category/{payee_id}/transactions' do
|
61
|
+
it "returns a list of transactions for a payee" do
|
62
|
+
VCR.use_cassette("payee_transactions") do
|
63
|
+
response = instance.get_transactions_by_payee(budget_id, payee_id)
|
64
|
+
expect(client.last_request.response.options[:code]).to be 200
|
65
|
+
expect(response.data.transactions.length).to be 2
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
describe 'GET /budgets/{budget_id}/transaction/{transaction_id}' do
|
71
|
+
it "returns a transaction" do
|
50
72
|
VCR.use_cassette("transaction") do
|
51
73
|
response = instance.get_transactions_by_id(budget_id, '81c374ff-74ab-4d6d-8d5a-ba3ad3fa68e4')
|
52
74
|
expect(response.data.transaction).to be
|
@@ -0,0 +1,46 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://api.localhost:3000/v1/budgets/f419ac25-6217-4175-88dc-c3136ff5f6fd/categories/84ffe61c-081c-44db-ad23-6ee809206c40/transactions
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- api_client/ruby/0.4.0
|
12
|
+
Content-Type:
|
13
|
+
- application/json
|
14
|
+
Accept:
|
15
|
+
- application/json
|
16
|
+
Authorization:
|
17
|
+
- Bearer 9f1a2c4842b614a771aaae9220fc54ae835e298c4654dc2c9205fc1d7bd1a045
|
18
|
+
Expect:
|
19
|
+
- ''
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
Vary:
|
28
|
+
- Accept-Encoding, Origin
|
29
|
+
ETag:
|
30
|
+
- W/"34c52d2665519c44aa89bfb862b99e7e"
|
31
|
+
Cache-Control:
|
32
|
+
- max-age=0, private, must-revalidate
|
33
|
+
X-Request-Id:
|
34
|
+
- 0e4f8e02-620d-4433-8a88-f776fdafc165
|
35
|
+
X-Runtime:
|
36
|
+
- '0.376111'
|
37
|
+
Transfer-Encoding:
|
38
|
+
- chunked
|
39
|
+
body:
|
40
|
+
encoding: UTF-8
|
41
|
+
string: '{"data":{"transactions":[{"type":"subtransaction","id":"4a675c31-f5f1-43ba-8c9a-6cd7d5b0cac4","parent_transaction_id":"56a3ae86-ce55-4e23-923b-6cb59add860b","date":"2018-03-26","amount":-50000,"memo":"","cleared":"uncleared","approved":true,"flag_color":null,"account_id":"16addaa3-cfaf-4e57-933c-7e1645f000f0","payee_id":null,"category_id":"84ffe61c-081c-44db-ad23-6ee809206c40","transfer_account_id":null,"import_id":null},{"type":"subtransaction","id":"4c3f5877-b4b9-4d5a-9177-be7dfcd86c6e","parent_transaction_id":"910a79e1-29f5-4789-a2a0-2a69c2f94a2b","date":"2018-03-26","amount":-25000,"memo":"","cleared":"uncleared","approved":true,"flag_color":null,"account_id":"16addaa3-cfaf-4e57-933c-7e1645f000f0","payee_id":null,"category_id":"84ffe61c-081c-44db-ad23-6ee809206c40","transfer_account_id":null,"import_id":null},{"type":"transaction","id":"d477e91a-1f2b-4df5-8069-6b61dee51259","parent_transaction_id":null,"date":"2018-03-27","amount":-13000,"memo":"","cleared":"uncleared","approved":true,"flag_color":null,"account_id":"16addaa3-cfaf-4e57-933c-7e1645f000f0","payee_id":"2676f959-c5de-4db2-8d3f-2503777b25fb","category_id":"84ffe61c-081c-44db-ad23-6ee809206c40","transfer_account_id":null,"import_id":null}]}}'
|
42
|
+
http_version: '1.1'
|
43
|
+
adapter_metadata:
|
44
|
+
effective_url: http://api.localhost:3000/v1/budgets/6e6aa585-8537-4afc-950f-93d55fac17fa/categories/84ffe61c-081c-44db-ad23-6ee809206c40/transactions
|
45
|
+
recorded_at: Tue, 27 Mar 2018 17:02:30 GMT
|
46
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,46 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://api.localhost:3000/v1/budgets/f419ac25-6217-4175-88dc-c3136ff5f6fd/payees/2676f959-c5de-4db2-8d3f-2503777b25fb/transactions
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- api_client/ruby/0.4.0
|
12
|
+
Content-Type:
|
13
|
+
- application/json
|
14
|
+
Accept:
|
15
|
+
- application/json
|
16
|
+
Authorization:
|
17
|
+
- Bearer 9f1a2c4842b614a771aaae9220fc54ae835e298c4654dc2c9205fc1d7bd1a045
|
18
|
+
Expect:
|
19
|
+
- ''
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
Vary:
|
28
|
+
- Accept-Encoding, Origin
|
29
|
+
ETag:
|
30
|
+
- W/"d2b4b29be1231be9847defe032df6712"
|
31
|
+
Cache-Control:
|
32
|
+
- max-age=0, private, must-revalidate
|
33
|
+
X-Request-Id:
|
34
|
+
- b79f3971-7666-4b04-8d8b-bd5258dd02bc
|
35
|
+
X-Runtime:
|
36
|
+
- '0.186443'
|
37
|
+
Transfer-Encoding:
|
38
|
+
- chunked
|
39
|
+
body:
|
40
|
+
encoding: UTF-8
|
41
|
+
string: '{"data":{"transactions":[{"type":"subtransaction","id":"008908a3-07c2-4684-b4c1-6f1024814f8d","parent_transaction_id":"910a79e1-29f5-4789-a2a0-2a69c2f94a2b","date":"2018-03-26","amount":-15000,"memo":"","cleared":"uncleared","approved":true,"flag_color":null,"account_id":"16addaa3-cfaf-4e57-933c-7e1645f000f0","payee_id":"2676f959-c5de-4db2-8d3f-2503777b25fb","category_id":"b457e34a-234e-40b2-992e-40055171e644","transfer_account_id":null,"import_id":null},{"type":"transaction","id":"d477e91a-1f2b-4df5-8069-6b61dee51259","parent_transaction_id":null,"date":"2018-03-27","amount":-13000,"memo":"","cleared":"uncleared","approved":true,"flag_color":null,"account_id":"16addaa3-cfaf-4e57-933c-7e1645f000f0","payee_id":"2676f959-c5de-4db2-8d3f-2503777b25fb","category_id":"84ffe61c-081c-44db-ad23-6ee809206c40","transfer_account_id":null,"import_id":null}]}}'
|
42
|
+
http_version: '1.1'
|
43
|
+
adapter_metadata:
|
44
|
+
effective_url: http://api.localhost:3000/v1/budgets/6e6aa585-8537-4afc-950f-93d55fac17fa/payees/2676f959-c5de-4db2-8d3f-2503777b25fb/transactions
|
45
|
+
recorded_at: Tue, 27 Mar 2018 17:03:22 GMT
|
46
|
+
recorded_with: VCR 3.0.3
|
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: 0.
|
4
|
+
version: 0.5.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-03-
|
11
|
+
date: 2018-03-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: typhoeus
|
@@ -134,6 +134,9 @@ files:
|
|
134
134
|
- docs/DateFormat.md
|
135
135
|
- docs/ErrorDetail.md
|
136
136
|
- docs/ErrorResponse.md
|
137
|
+
- docs/HybridTransaction.md
|
138
|
+
- docs/HybridTransactionsResponse.md
|
139
|
+
- docs/HybridTransactionsWrapper.md
|
137
140
|
- docs/MonthDetail.md
|
138
141
|
- docs/MonthDetailResponse.md
|
139
142
|
- docs/MonthDetailWrapper.md
|
@@ -219,6 +222,9 @@ files:
|
|
219
222
|
- lib/ynab/models/date_format.rb
|
220
223
|
- lib/ynab/models/error_detail.rb
|
221
224
|
- lib/ynab/models/error_response.rb
|
225
|
+
- lib/ynab/models/hybrid_transaction.rb
|
226
|
+
- lib/ynab/models/hybrid_transactions_response.rb
|
227
|
+
- lib/ynab/models/hybrid_transactions_wrapper.rb
|
222
228
|
- lib/ynab/models/month_detail.rb
|
223
229
|
- lib/ynab/models/month_detail_response.rb
|
224
230
|
- lib/ynab/models/month_detail_wrapper.rb
|
@@ -275,6 +281,7 @@ files:
|
|
275
281
|
- spec/fixtures/vcr_cassettes/categories.yml
|
276
282
|
- spec/fixtures/vcr_cassettes/categories_unauthorized.yml
|
277
283
|
- spec/fixtures/vcr_cassettes/category.yml
|
284
|
+
- spec/fixtures/vcr_cassettes/category_transactions.yml
|
278
285
|
- spec/fixtures/vcr_cassettes/create_transaction.yml
|
279
286
|
- spec/fixtures/vcr_cassettes/month.yml
|
280
287
|
- spec/fixtures/vcr_cassettes/months.yml
|
@@ -283,6 +290,7 @@ files:
|
|
283
290
|
- spec/fixtures/vcr_cassettes/payee_location.yml
|
284
291
|
- spec/fixtures/vcr_cassettes/payee_locations.yml
|
285
292
|
- spec/fixtures/vcr_cassettes/payee_locations_unauthorized.yml
|
293
|
+
- spec/fixtures/vcr_cassettes/payee_transactions.yml
|
286
294
|
- spec/fixtures/vcr_cassettes/payees.yml
|
287
295
|
- spec/fixtures/vcr_cassettes/payees_unauthorized.yml
|
288
296
|
- spec/fixtures/vcr_cassettes/scheduled_transaction.yml
|
@@ -330,6 +338,7 @@ test_files:
|
|
330
338
|
- spec/api/months_spec.rb
|
331
339
|
- spec/api/transactions_spec.rb
|
332
340
|
- spec/fixtures/.DS_Store
|
341
|
+
- spec/fixtures/vcr_cassettes/payee_transactions.yml
|
333
342
|
- spec/fixtures/vcr_cassettes/categories.yml
|
334
343
|
- spec/fixtures/vcr_cassettes/scheduled_transactions.yml
|
335
344
|
- spec/fixtures/vcr_cassettes/accounts_unauthorized.yml
|
@@ -339,6 +348,7 @@ test_files:
|
|
339
348
|
- spec/fixtures/vcr_cassettes/payees_unauthorized.yml
|
340
349
|
- spec/fixtures/vcr_cassettes/create_transaction.yml
|
341
350
|
- spec/fixtures/vcr_cassettes/budgets.yml
|
351
|
+
- spec/fixtures/vcr_cassettes/category_transactions.yml
|
342
352
|
- spec/fixtures/vcr_cassettes/accounts.yml
|
343
353
|
- spec/fixtures/vcr_cassettes/payee.yml
|
344
354
|
- spec/fixtures/vcr_cassettes/payee_location.yml
|