myfinance 0.7.0 → 1.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 (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