myfinance 0.7.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -2
  3. data/CHANGELOG.md +15 -0
  4. data/Gemfile.lock +1 -1
  5. data/README.md +304 -1
  6. data/lib/myfinance.rb +12 -0
  7. data/lib/myfinance/client.rb +16 -0
  8. data/lib/myfinance/entities/bank_statement.rb +16 -0
  9. data/lib/myfinance/entities/credit_card.rb +19 -0
  10. data/lib/myfinance/entities/credit_card_collection.rb +11 -0
  11. data/lib/myfinance/entities/credit_card_transaction.rb +26 -0
  12. data/lib/myfinance/entities/credit_card_transaction_collection.rb +11 -0
  13. data/lib/myfinance/entities/financial_account.rb +1 -1
  14. data/lib/myfinance/entities/payable_account_collection.rb +14 -0
  15. data/lib/myfinance/entities/receivable_account_collection.rb +14 -0
  16. data/lib/myfinance/entities/reconcile_collection.rb +30 -0
  17. data/lib/myfinance/resources/bank_statement.rb +20 -0
  18. data/lib/myfinance/resources/category.rb +16 -0
  19. data/lib/myfinance/resources/classification_center.rb +1 -1
  20. data/lib/myfinance/resources/credit_card.rb +47 -0
  21. data/lib/myfinance/resources/credit_card_transaction.rb +47 -0
  22. data/lib/myfinance/resources/financial_account.rb +48 -7
  23. data/lib/myfinance/resources/financial_transaction.rb +13 -2
  24. data/lib/myfinance/resources/person.rb +1 -1
  25. data/lib/myfinance/resources/reconcile.rb +20 -0
  26. data/lib/myfinance/version.rb +1 -1
  27. data/spec/lib/myfinance/client_spec.rb +21 -0
  28. data/spec/lib/myfinance/entities/credit_card_collection_spec.rb +23 -0
  29. data/spec/lib/myfinance/entities/credit_card_spec.rb +7 -0
  30. data/spec/lib/myfinance/entities/credit_card_transaction_collection_spec.rb +21 -0
  31. data/spec/lib/myfinance/entities/credit_card_transaction_spec.rb +8 -0
  32. data/spec/lib/myfinance/entities/reconcile_collection_spec.rb +20 -0
  33. data/spec/lib/myfinance/resources/bank_statement_spec.rb +53 -0
  34. data/spec/lib/myfinance/resources/category_spec.rb +24 -3
  35. data/spec/lib/myfinance/resources/classification_center_spec.rb +12 -5
  36. data/spec/lib/myfinance/resources/credit_card_spec.rb +142 -0
  37. data/spec/lib/myfinance/resources/credit_card_transaction_spec.rb +162 -0
  38. data/spec/lib/myfinance/resources/financial_transaction_spec.rb +27 -2
  39. data/spec/lib/myfinance/resources/payable_account_spec.rb +131 -15
  40. data/spec/lib/myfinance/resources/person_spec.rb +16 -4
  41. data/spec/lib/myfinance/resources/receivable_account_spec.rb +132 -15
  42. data/spec/lib/myfinance/resources/reconcile_spec.rb +33 -0
  43. data/spec/support/bank_statements/extrato.ofx +207 -0
  44. metadata +35 -2
@@ -0,0 +1,33 @@
1
+ require "spec_helper"
2
+
3
+ describe Myfinance::Resources::Reconcile, vcr: true do
4
+ let(:entity_id) { 3798 }
5
+ let(:da_id) { 14268 }
6
+ let(:date) { "2017-01-01" }
7
+ let(:ft) { client.financial_transactions.create(entity_id, da_id, type: "Credit", amount: 150.0, occurred_at: date) }
8
+ let(:ra_params) do
9
+ { due_date: "2017-01-01", amount: 150.0, occurred_at: "2017-01-01", total_amount: 150.0 }
10
+ end
11
+ let(:ra) { client.receivable_accounts.create(entity_id, ra_params) }
12
+
13
+ describe "#reconcile" do
14
+ subject { client.reconciles.reconcile(entity_id, [ra.id], [ft.id]) }
15
+ it "returns 200 OK response code" do
16
+ expect(subject.response.code).to eq(200)
17
+ end
18
+
19
+ it "returns the selected FAs and FTs" do
20
+ expect(subject.collection.first.id).to eq(ft.id)
21
+ expect(subject.collection.last.id).to eq(ra.id)
22
+ end
23
+
24
+ it "expects FT to be reconciled" do
25
+ expect(subject.collection.first.reconciled).to be_truthy
26
+ end
27
+
28
+ it "expects FA to be reconciled with FT" do
29
+ reconciliation = subject.collection.last.reconciliations["financial_transactions"].first
30
+ expect(reconciliation["id"]).to eq(ft.id)
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,207 @@
1
+ OFXHEADER:100
2
+ DATA:OFXSGML
3
+ VERSION:102
4
+ SECURITY:NONE
5
+ ENCODING:USASCII
6
+ CHARSET:1252
7
+ COMPRESSION:NONE
8
+ OLDFILEUID:NONE
9
+ NEWFILEUID:NONE
10
+
11
+ <OFX>
12
+ <SIGNONMSGSRSV1>
13
+ <SONRS>
14
+ <STATUS>
15
+ <CODE>0
16
+ <SEVERITY>INFO
17
+ </STATUS>
18
+ <DTSERVER>20170126100000[-03:EST]
19
+ <LANGUAGE>POR
20
+ </SONRS>
21
+ </SIGNONMSGSRSV1>
22
+ <BANKMSGSRSV1>
23
+ <STMTTRNRS>
24
+ <TRNUID>1001
25
+ <STATUS>
26
+ <CODE>0
27
+ <SEVERITY>INFO
28
+ </STATUS>
29
+ <STMTRS>
30
+ <CURDEF>BRL
31
+ <BANKACCTFROM>
32
+ <BANKID>0341
33
+ <ACCTID>8113215787
34
+ <ACCTTYPE>CHECKING
35
+ </BANKACCTFROM>
36
+ <BANKTRANLIST>
37
+ <DTSTART>20170102100000[-03:EST]
38
+ <DTEND>20170125100000[-03:EST]
39
+ <STMTTRN>
40
+ <TRNTYPE>DEBIT
41
+ <DTPOSTED>20170102100000[-03:EST]
42
+ <TRNAMT>-27.61
43
+ <FITID>20170102001
44
+ <CHECKNUM>20170102001
45
+ <MEMO>RSHOP-DI FERNANDO-02/01
46
+ </STMTTRN>
47
+ <STMTTRN>
48
+ <TRNTYPE>DEBIT
49
+ <DTPOSTED>20170102100000[-03:EST]
50
+ <TRNAMT>-13.49
51
+ <FITID>20170102002
52
+ <CHECKNUM>20170102002
53
+ <MEMO>RSHOP-POSTO BARRA-31/12
54
+ </STMTTRN>
55
+ <STMTTRN>
56
+ <TRNTYPE>CREDIT
57
+ <DTPOSTED>20170102100000[-03:EST]
58
+ <TRNAMT>0.04
59
+ <FITID>20170102003
60
+ <CHECKNUM>20170102003
61
+ <MEMO>REND PAGO APLIC AUT MAIS
62
+ </STMTTRN>
63
+ <STMTTRN>
64
+ <TRNTYPE>DEBIT
65
+ <DTPOSTED>20170103100000[-03:EST]
66
+ <TRNAMT>-13.00
67
+ <FITID>20170103001
68
+ <CHECKNUM>20170103001
69
+ <MEMO>RSHOP-MEGA LANCHE-03/01
70
+ </STMTTRN>
71
+ <STMTTRN>
72
+ <TRNTYPE>CREDIT
73
+ <DTPOSTED>20170103100000[-03:EST]
74
+ <TRNAMT>266.66
75
+ <FITID>20170103002
76
+ <CHECKNUM>20170103002
77
+ <MEMO>CXE 000007 DEP CHQ
78
+ </STMTTRN>
79
+ <STMTTRN>
80
+ <TRNTYPE>DEBIT
81
+ <DTPOSTED>20170104100000[-03:EST]
82
+ <TRNAMT>-100.00
83
+ <FITID>20170104001
84
+ <CHECKNUM>20170104001
85
+ <MEMO>INT TED D 015466
86
+ </STMTTRN>
87
+ <STMTTRN>
88
+ <TRNTYPE>DEBIT
89
+ <DTPOSTED>20170109100000[-03:EST]
90
+ <TRNAMT>-50.00
91
+ <FITID>20170109001
92
+ <CHECKNUM>20170109001
93
+ <MEMO>CXE 001065 SAQUE
94
+ </STMTTRN>
95
+ <STMTTRN>
96
+ <TRNTYPE>DEBIT
97
+ <DTPOSTED>20170109100000[-03:EST]
98
+ <TRNAMT>-7.00
99
+ <FITID>20170109002
100
+ <CHECKNUM>20170109002
101
+ <MEMO>RSHOP-MR CHENEY M-09/01
102
+ </STMTTRN>
103
+ <STMTTRN>
104
+ <TRNTYPE>DEBIT
105
+ <DTPOSTED>20170109100000[-03:EST]
106
+ <TRNAMT>-16.78
107
+ <FITID>20170109003
108
+ <CHECKNUM>20170109003
109
+ <MEMO>RSHOP-SUPERMERCAD-07/01
110
+ </STMTTRN>
111
+ <STMTTRN>
112
+ <TRNTYPE>DEBIT
113
+ <DTPOSTED>20170116100000[-03:EST]
114
+ <TRNAMT>-200.00
115
+ <FITID>20170116001
116
+ <CHECKNUM>20170116001
117
+ <MEMO>INT TED 140000150401460
118
+ </STMTTRN>
119
+ <STMTTRN>
120
+ <TRNTYPE>CREDIT
121
+ <DTPOSTED>20170116100000[-03:EST]
122
+ <TRNAMT>0.14
123
+ <FITID>20170116002
124
+ <CHECKNUM>20170116002
125
+ <MEMO>REND PAGO APLIC AUT MAIS
126
+ </STMTTRN>
127
+ <STMTTRN>
128
+ <TRNTYPE>DEBIT
129
+ <DTPOSTED>20170117100000[-03:EST]
130
+ <TRNAMT>-26.90
131
+ <FITID>20170117001
132
+ <CHECKNUM>20170117001
133
+ <MEMO>RSHOP-BALADA MIX -17/01
134
+ </STMTTRN>
135
+ <STMTTRN>
136
+ <TRNTYPE>DEBIT
137
+ <DTPOSTED>20170117100000[-03:EST]
138
+ <TRNAMT>-199.87
139
+ <FITID>20170117002
140
+ <CHECKNUM>20170117002
141
+ <MEMO>INT TED 57754140401419
142
+ </STMTTRN>
143
+ <STMTTRN>
144
+ <TRNTYPE>CREDIT
145
+ <DTPOSTED>20170117100000[-03:EST]
146
+ <TRNAMT>0.28
147
+ <FITID>20170117003
148
+ <CHECKNUM>20170117003
149
+ <MEMO>REND PAGO APLIC AUT MAIS
150
+ </STMTTRN>
151
+ <STMTTRN>
152
+ <TRNTYPE>DEBIT
153
+ <DTPOSTED>20170123100000[-03:EST]
154
+ <TRNAMT>-24.95
155
+ <FITID>20170123001
156
+ <CHECKNUM>20170123001
157
+ <MEMO>RSHOP-FERRARI PIZ-20/01
158
+ </STMTTRN>
159
+ <STMTTRN>
160
+ <TRNTYPE>CREDIT
161
+ <DTPOSTED>20170123100000[-03:EST]
162
+ <TRNAMT>0.04
163
+ <FITID>20170123002
164
+ <CHECKNUM>20170123002
165
+ <MEMO>REND PAGO APLIC AUT MAIS
166
+ </STMTTRN>
167
+ <STMTTRN>
168
+ <TRNTYPE>DEBIT
169
+ <DTPOSTED>20170124100000[-03:EST]
170
+ <TRNAMT>-11.00
171
+ <FITID>20170124001
172
+ <CHECKNUM>20170124001
173
+ <MEMO>INT SHOPLINE
174
+ </STMTTRN>
175
+ <STMTTRN>
176
+ <TRNTYPE>CREDIT
177
+ <DTPOSTED>20170124100000[-03:EST]
178
+ <TRNAMT>0.02
179
+ <FITID>20170124002
180
+ <CHECKNUM>20170124002
181
+ <MEMO>REND PAGO APLIC AUT MAIS
182
+ </STMTTRN>
183
+ <STMTTRN>
184
+ <TRNTYPE>DEBIT
185
+ <DTPOSTED>20170125100000[-03:EST]
186
+ <TRNAMT>-39.90
187
+ <FITID>20170125001
188
+ <CHECKNUM>20170125001
189
+ <MEMO>INT SHOPLINE
190
+ </STMTTRN>
191
+ <STMTTRN>
192
+ <TRNTYPE>CREDIT
193
+ <DTPOSTED>20170125100000[-03:EST]
194
+ <TRNAMT>0.03
195
+ <FITID>20170125002
196
+ <CHECKNUM>20170125002
197
+ <MEMO>REND PAGO APLIC AUT APR
198
+ </STMTTRN>
199
+ </BANKTRANLIST>
200
+ <LEDGERBAL>
201
+ <BALAMT>0.00
202
+ <DTASOF>20170126100000[-03:EST]
203
+ </LEDGERBAL>
204
+ </STMTRS>
205
+ </STMTTRNRS>
206
+ </BANKMSGSRSV1>
207
+ </OFX>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: myfinance
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo Hertz
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2017-03-14 00:00:00.000000000 Z
14
+ date: 2017-03-24 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: typhoeus
@@ -228,6 +228,7 @@ files:
228
228
  - ".rspec"
229
229
  - ".rubocop.yml"
230
230
  - ".travis.yml"
231
+ - CHANGELOG.md
231
232
  - Gemfile
232
233
  - Gemfile.lock
233
234
  - LICENSE.txt
@@ -242,12 +243,17 @@ files:
242
243
  - lib/myfinance/entities/account_collection.rb
243
244
  - lib/myfinance/entities/attachment.rb
244
245
  - lib/myfinance/entities/attachment_collection.rb
246
+ - lib/myfinance/entities/bank_statement.rb
245
247
  - lib/myfinance/entities/base.rb
246
248
  - lib/myfinance/entities/category.rb
247
249
  - lib/myfinance/entities/category_collection.rb
248
250
  - lib/myfinance/entities/classification_center.rb
249
251
  - lib/myfinance/entities/classification_center_collection.rb
250
252
  - lib/myfinance/entities/collection.rb
253
+ - lib/myfinance/entities/credit_card.rb
254
+ - lib/myfinance/entities/credit_card_collection.rb
255
+ - lib/myfinance/entities/credit_card_transaction.rb
256
+ - lib/myfinance/entities/credit_card_transaction_collection.rb
251
257
  - lib/myfinance/entities/deposit_account.rb
252
258
  - lib/myfinance/entities/deposit_account_collection.rb
253
259
  - lib/myfinance/entities/entity.rb
@@ -256,9 +262,12 @@ files:
256
262
  - lib/myfinance/entities/financial_transaction.rb
257
263
  - lib/myfinance/entities/financial_transaction_collection.rb
258
264
  - lib/myfinance/entities/payable_account.rb
265
+ - lib/myfinance/entities/payable_account_collection.rb
259
266
  - lib/myfinance/entities/person.rb
260
267
  - lib/myfinance/entities/person_collection.rb
261
268
  - lib/myfinance/entities/receivable_account.rb
269
+ - lib/myfinance/entities/receivable_account_collection.rb
270
+ - lib/myfinance/entities/reconcile_collection.rb
262
271
  - lib/myfinance/entities/tax.rb
263
272
  - lib/myfinance/entities/tax_collection.rb
264
273
  - lib/myfinance/entities/webhook.rb
@@ -268,9 +277,12 @@ files:
268
277
  - lib/myfinance/request.rb
269
278
  - lib/myfinance/resources/account.rb
270
279
  - lib/myfinance/resources/attachment.rb
280
+ - lib/myfinance/resources/bank_statement.rb
271
281
  - lib/myfinance/resources/base.rb
272
282
  - lib/myfinance/resources/category.rb
273
283
  - lib/myfinance/resources/classification_center.rb
284
+ - lib/myfinance/resources/credit_card.rb
285
+ - lib/myfinance/resources/credit_card_transaction.rb
274
286
  - lib/myfinance/resources/deposit_account.rb
275
287
  - lib/myfinance/resources/entity.rb
276
288
  - lib/myfinance/resources/financial_account.rb
@@ -278,6 +290,7 @@ files:
278
290
  - lib/myfinance/resources/payable_account.rb
279
291
  - lib/myfinance/resources/person.rb
280
292
  - lib/myfinance/resources/receivable_account.rb
293
+ - lib/myfinance/resources/reconcile.rb
281
294
  - lib/myfinance/resources/tax.rb
282
295
  - lib/myfinance/resources/webhook.rb
283
296
  - lib/myfinance/response.rb
@@ -295,6 +308,10 @@ files:
295
308
  - spec/lib/myfinance/entities/classification_center_collection_spec.rb
296
309
  - spec/lib/myfinance/entities/classification_center_spec.rb
297
310
  - spec/lib/myfinance/entities/collection_spec.rb
311
+ - spec/lib/myfinance/entities/credit_card_collection_spec.rb
312
+ - spec/lib/myfinance/entities/credit_card_spec.rb
313
+ - spec/lib/myfinance/entities/credit_card_transaction_collection_spec.rb
314
+ - spec/lib/myfinance/entities/credit_card_transaction_spec.rb
298
315
  - spec/lib/myfinance/entities/deposit_account_collection_spec.rb
299
316
  - spec/lib/myfinance/entities/deposit_account_spec.rb
300
317
  - spec/lib/myfinance/entities/entity_collection_spec.rb
@@ -305,6 +322,7 @@ files:
305
322
  - spec/lib/myfinance/entities/person_collection_spec.rb
306
323
  - spec/lib/myfinance/entities/person_spec.rb
307
324
  - spec/lib/myfinance/entities/receivable_account_spec.rb
325
+ - spec/lib/myfinance/entities/reconcile_collection_spec.rb
308
326
  - spec/lib/myfinance/entities/tax_collection_spec.rb
309
327
  - spec/lib/myfinance/entities/tax_spec.rb
310
328
  - spec/lib/myfinance/entities/webhook_collection_spec.rb
@@ -313,20 +331,25 @@ files:
313
331
  - spec/lib/myfinance/request_spec.rb
314
332
  - spec/lib/myfinance/resources/account_spec.rb
315
333
  - spec/lib/myfinance/resources/attachment_spec.rb
334
+ - spec/lib/myfinance/resources/bank_statement_spec.rb
316
335
  - spec/lib/myfinance/resources/category_spec.rb
317
336
  - spec/lib/myfinance/resources/classification_center_spec.rb
337
+ - spec/lib/myfinance/resources/credit_card_spec.rb
338
+ - spec/lib/myfinance/resources/credit_card_transaction_spec.rb
318
339
  - spec/lib/myfinance/resources/deposit_account_spec.rb
319
340
  - spec/lib/myfinance/resources/entity_spec.rb
320
341
  - spec/lib/myfinance/resources/financial_transaction_spec.rb
321
342
  - spec/lib/myfinance/resources/payable_account_spec.rb
322
343
  - spec/lib/myfinance/resources/person_spec.rb
323
344
  - spec/lib/myfinance/resources/receivable_account_spec.rb
345
+ - spec/lib/myfinance/resources/reconcile_spec.rb
324
346
  - spec/lib/myfinance/resources/tax_spec.rb
325
347
  - spec/lib/myfinance/resources/webhook_spec.rb
326
348
  - spec/lib/myfinance/response_spec.rb
327
349
  - spec/lib/myfinance_spec.rb
328
350
  - spec/spec_helper.rb
329
351
  - spec/support/attachments/attachment.png
352
+ - spec/support/bank_statements/extrato.ofx
330
353
  - spec/support/client.rb
331
354
  - spec/support/matchers/have_attr_accessor.rb
332
355
  - spec/support/shared_examples/entity_attributes.rb
@@ -370,6 +393,10 @@ test_files:
370
393
  - spec/lib/myfinance/entities/classification_center_collection_spec.rb
371
394
  - spec/lib/myfinance/entities/classification_center_spec.rb
372
395
  - spec/lib/myfinance/entities/collection_spec.rb
396
+ - spec/lib/myfinance/entities/credit_card_collection_spec.rb
397
+ - spec/lib/myfinance/entities/credit_card_spec.rb
398
+ - spec/lib/myfinance/entities/credit_card_transaction_collection_spec.rb
399
+ - spec/lib/myfinance/entities/credit_card_transaction_spec.rb
373
400
  - spec/lib/myfinance/entities/deposit_account_collection_spec.rb
374
401
  - spec/lib/myfinance/entities/deposit_account_spec.rb
375
402
  - spec/lib/myfinance/entities/entity_collection_spec.rb
@@ -380,6 +407,7 @@ test_files:
380
407
  - spec/lib/myfinance/entities/person_collection_spec.rb
381
408
  - spec/lib/myfinance/entities/person_spec.rb
382
409
  - spec/lib/myfinance/entities/receivable_account_spec.rb
410
+ - spec/lib/myfinance/entities/reconcile_collection_spec.rb
383
411
  - spec/lib/myfinance/entities/tax_collection_spec.rb
384
412
  - spec/lib/myfinance/entities/tax_spec.rb
385
413
  - spec/lib/myfinance/entities/webhook_collection_spec.rb
@@ -388,20 +416,25 @@ test_files:
388
416
  - spec/lib/myfinance/request_spec.rb
389
417
  - spec/lib/myfinance/resources/account_spec.rb
390
418
  - spec/lib/myfinance/resources/attachment_spec.rb
419
+ - spec/lib/myfinance/resources/bank_statement_spec.rb
391
420
  - spec/lib/myfinance/resources/category_spec.rb
392
421
  - spec/lib/myfinance/resources/classification_center_spec.rb
422
+ - spec/lib/myfinance/resources/credit_card_spec.rb
423
+ - spec/lib/myfinance/resources/credit_card_transaction_spec.rb
393
424
  - spec/lib/myfinance/resources/deposit_account_spec.rb
394
425
  - spec/lib/myfinance/resources/entity_spec.rb
395
426
  - spec/lib/myfinance/resources/financial_transaction_spec.rb
396
427
  - spec/lib/myfinance/resources/payable_account_spec.rb
397
428
  - spec/lib/myfinance/resources/person_spec.rb
398
429
  - spec/lib/myfinance/resources/receivable_account_spec.rb
430
+ - spec/lib/myfinance/resources/reconcile_spec.rb
399
431
  - spec/lib/myfinance/resources/tax_spec.rb
400
432
  - spec/lib/myfinance/resources/webhook_spec.rb
401
433
  - spec/lib/myfinance/response_spec.rb
402
434
  - spec/lib/myfinance_spec.rb
403
435
  - spec/spec_helper.rb
404
436
  - spec/support/attachments/attachment.png
437
+ - spec/support/bank_statements/extrato.ofx
405
438
  - spec/support/client.rb
406
439
  - spec/support/matchers/have_attr_accessor.rb
407
440
  - spec/support/shared_examples/entity_attributes.rb