reckon 0.4.4 → 0.5.4

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 (53) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +3 -0
  3. data/.ruby-version +1 -1
  4. data/.travis.yml +10 -2
  5. data/CHANGELOG.md +235 -0
  6. data/Gemfile +0 -1
  7. data/Gemfile.lock +73 -15
  8. data/README.md +12 -5
  9. data/lib/reckon.rb +13 -12
  10. data/lib/reckon/app.rb +94 -116
  11. data/lib/reckon/cosine_similarity.rb +122 -0
  12. data/lib/reckon/csv_parser.rb +116 -129
  13. data/lib/reckon/date_column.rb +60 -0
  14. data/lib/reckon/ledger_parser.rb +204 -30
  15. data/lib/reckon/logger.rb +4 -0
  16. data/lib/reckon/money.rb +6 -62
  17. data/lib/reckon/version.rb +3 -0
  18. data/reckon.gemspec +8 -5
  19. data/spec/data_fixtures/51-sample.csv +8 -0
  20. data/spec/data_fixtures/51-tokens.yml +9 -0
  21. data/spec/data_fixtures/73-sample.csv +2 -0
  22. data/spec/data_fixtures/73-tokens.yml +8 -0
  23. data/spec/data_fixtures/73-transactions.ledger +7 -0
  24. data/spec/data_fixtures/85-date-example.csv +2 -0
  25. data/spec/data_fixtures/austrian_example.csv +13 -0
  26. data/spec/data_fixtures/bom_utf8_file.csv +1 -0
  27. data/spec/data_fixtures/broker_canada_example.csv +12 -0
  28. data/spec/data_fixtures/chase.csv +9 -0
  29. data/spec/data_fixtures/danish_kroner_nordea_example.csv +6 -0
  30. data/spec/data_fixtures/english_date_example.csv +3 -0
  31. data/spec/data_fixtures/french_example.csv +9 -0
  32. data/spec/data_fixtures/german_date_example.csv +3 -0
  33. data/spec/data_fixtures/harder_date_example.csv +5 -0
  34. data/spec/data_fixtures/ing.csv +3 -0
  35. data/spec/data_fixtures/intuit_mint_example.csv +7 -0
  36. data/spec/data_fixtures/invalid_header_example.csv +6 -0
  37. data/spec/data_fixtures/inversed_credit_card.csv +16 -0
  38. data/spec/data_fixtures/nationwide.csv +4 -0
  39. data/spec/data_fixtures/simple.csv +2 -0
  40. data/spec/data_fixtures/some_other.csv +9 -0
  41. data/spec/data_fixtures/spanish_date_example.csv +3 -0
  42. data/spec/data_fixtures/suntrust.csv +7 -0
  43. data/spec/data_fixtures/test_money_column.csv +3 -0
  44. data/spec/data_fixtures/two_money_columns.csv +5 -0
  45. data/spec/data_fixtures/yyyymmdd_date_example.csv +1 -0
  46. data/spec/reckon/app_spec.rb +96 -34
  47. data/spec/reckon/csv_parser_spec.rb +185 -307
  48. data/spec/reckon/date_column_spec.rb +12 -13
  49. data/spec/reckon/ledger_parser_spec.rb +99 -9
  50. data/spec/reckon/money_spec.rb +42 -29
  51. data/spec/spec_helper.rb +22 -0
  52. metadata +85 -21
  53. data/CHANGES.md +0 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: cf1d814fe911f299cf58401c3b36734e29a172f1
4
- data.tar.gz: 9130495690de1f73cfa3570a6e3386f38df86830
2
+ SHA256:
3
+ metadata.gz: 52cfe9cf67708213b2650008196a5177e9732285e320e7024d92cab9155aab5b
4
+ data.tar.gz: 82197ab9f98b310892471cc1cbe5b7d924b8fa57ca2b2cf3b4dbd2abc428f654
5
5
  SHA512:
6
- metadata.gz: b7c3e23f96983cd79844ba37524f1b843a1dbba230198cf813b83c7c65a076506fb2c66ab663dee0970db2d42e1d3e0b03adf41ee163d08f3b38dbb163c373a6
7
- data.tar.gz: d74ab72db15d54bc0bfe548369ec9a8b3903760bc09fbc16340a6f64c929a69d595c4840900e8a425996bc580e5924321ece84b10d3e033b193b066f2520f7c2
6
+ metadata.gz: 5601c43ce038078a9ce825a05b7cd09f57953632e7abc9882f7025806a7c5a6d89f350c41b0b4964e9a3302090e07839064597f343c348e00ad514e8796852bd
7
+ data.tar.gz: 3de71c2b8ab50d203ceb9fe888d13c7bf68785f428322a7a865a21315aa781a809639d95cab5c0eeb96c678e871f83505b61bf0860b08ff0387d772e836a8488
data/.gitignore CHANGED
@@ -25,3 +25,6 @@ pkg
25
25
  .idea
26
26
  reckon_local
27
27
  private_tests
28
+
29
+ ## Bundler
30
+ vendor
@@ -1 +1 @@
1
- ruby-2.2.0
1
+ 2.7
@@ -1,5 +1,13 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.3
4
- - 2.0.0
3
+ # Mac High Sierra
4
+ - 2.0.0-p648
5
+ # Mac Mojave
6
+ - 2.3.7
7
+ # Ubuntu 19.10
8
+ - 2.5
9
+ # Mac Catalina
10
+ - 2.6
5
11
  script: "bundle exec rake"
12
+ before_install:
13
+ - sudo apt-get -y install ledger
@@ -0,0 +1,235 @@
1
+ # Changelog
2
+
3
+ ## [0.5.4](https://github.com/cantino/reckon/tree/0.5.4) (2020-06-04)
4
+
5
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.5.3...0.5.4)
6
+
7
+ **Fixed bugs:**
8
+
9
+ - order of transactions [\#88](https://github.com/cantino/reckon/issues/88)
10
+ - Is reckon failing to handle comments when learning? [\#87](https://github.com/cantino/reckon/issues/87)
11
+
12
+ ## [v0.5.3](https://github.com/cantino/reckon/tree/v0.5.3) (2020-05-02)
13
+
14
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.5.2...v0.5.3)
15
+
16
+ **Closed issues:**
17
+
18
+ - \[FEATURE REQUEST\] Ask for currency of Account and output in output file in standard format of xxxx TLA for currency [\#84](https://github.com/cantino/reckon/issues/84)
19
+
20
+ ## [v0.5.2](https://github.com/cantino/reckon/tree/v0.5.2) (2020-03-07)
21
+
22
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.5.1...v0.5.2)
23
+
24
+ **Closed issues:**
25
+
26
+ - \[Bug\]? Reckon fails to run on ruby 2.7.0 on Catalina [\#83](https://github.com/cantino/reckon/issues/83)
27
+ - --account-tokens issue [\#51](https://github.com/cantino/reckon/issues/51)
28
+
29
+ ## [v0.5.1](https://github.com/cantino/reckon/tree/v0.5.1) (2020-02-25)
30
+
31
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.5.0...v0.5.1)
32
+
33
+ **Closed issues:**
34
+
35
+ - Error Importing [\#64](https://github.com/cantino/reckon/issues/64)
36
+
37
+ **Merged pull requests:**
38
+
39
+ - Fix bugs in ledger file parsing. Fixes \#56. [\#81](https://github.com/cantino/reckon/pull/81) ([benprew](https://github.com/benprew))
40
+
41
+ ## [v0.5.0](https://github.com/cantino/reckon/tree/v0.5.0) (2020-02-19)
42
+
43
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.4.4...v0.5.0)
44
+
45
+ **Closed issues:**
46
+
47
+ - g [\#75](https://github.com/cantino/reckon/issues/75)
48
+ - Learn-from not working [\#74](https://github.com/cantino/reckon/issues/74)
49
+ - Tokens YAML fails to match [\#73](https://github.com/cantino/reckon/issues/73)
50
+ - Missing or stray quote in line error [\#71](https://github.com/cantino/reckon/issues/71)
51
+ - Support ISO 8601 formatting of dates in ledger file [\#70](https://github.com/cantino/reckon/issues/70)
52
+ - Looking for a new maintainer for Reckon [\#68](https://github.com/cantino/reckon/issues/68)
53
+ - Reckon undefined method to\_h when trying to parse csv file [\#66](https://github.com/cantino/reckon/issues/66)
54
+ - Runtime error [\#65](https://github.com/cantino/reckon/issues/65)
55
+ - Reckon doesn't learn from multiple sources [\#63](https://github.com/cantino/reckon/issues/63)
56
+ - problem of importing file [\#59](https://github.com/cantino/reckon/issues/59)
57
+ - Problem with file in which every column is quoted. [\#58](https://github.com/cantino/reckon/issues/58)
58
+ - Error in reckon for the same format csv file [\#57](https://github.com/cantino/reckon/issues/57)
59
+ - Parsing account names does not work if currency symbol is different from $ [\#56](https://github.com/cantino/reckon/issues/56)
60
+ - Problem reading csv file [\#55](https://github.com/cantino/reckon/issues/55)
61
+ - Problem with mint file [\#53](https://github.com/cantino/reckon/issues/53)
62
+ - --money-column [\#43](https://github.com/cantino/reckon/issues/43)
63
+
64
+ **Merged pull requests:**
65
+
66
+ - guard against rows that don't parse dates [\#82](https://github.com/cantino/reckon/pull/82) ([benprew](https://github.com/benprew))
67
+ - Better file encoding suggestions [\#80](https://github.com/cantino/reckon/pull/80) ([benprew](https://github.com/benprew))
68
+ - :bug: fix matching algorithm, add logging and a spec helper. Fixes \#73 [\#79](https://github.com/cantino/reckon/pull/79) ([benprew](https://github.com/benprew))
69
+ - bug: invalid header lines should be ignored, not parsed. [\#78](https://github.com/cantino/reckon/pull/78) ([benprew](https://github.com/benprew))
70
+ - convert default date format to iso8601 [\#77](https://github.com/cantino/reckon/pull/77) ([benprew](https://github.com/benprew))
71
+ - Fix rspec failure for ruby 2.3 and 2.4 [\#69](https://github.com/cantino/reckon/pull/69) ([BlackEdder](https://github.com/BlackEdder))
72
+ - Allow setting of money and date columns by index [\#67](https://github.com/cantino/reckon/pull/67) ([cantino](https://github.com/cantino))
73
+
74
+ ## [v0.4.4](https://github.com/cantino/reckon/tree/v0.4.4) (2015-12-02)
75
+
76
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.4.3...v0.4.4)
77
+
78
+ **Merged pull requests:**
79
+
80
+ - Regexp support in the tokens file [\#54](https://github.com/cantino/reckon/pull/54) ([vzctl](https://github.com/vzctl))
81
+
82
+ ## [v0.4.3](https://github.com/cantino/reckon/tree/v0.4.3) (2015-08-16)
83
+
84
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.4.2...v0.4.3)
85
+
86
+ ## [v0.4.2](https://github.com/cantino/reckon/tree/v0.4.2) (2015-08-08)
87
+
88
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.4.1...v0.4.2)
89
+
90
+ **Merged pull requests:**
91
+
92
+ - Ignore empty description columns [\#52](https://github.com/cantino/reckon/pull/52) ([vzctl](https://github.com/vzctl))
93
+
94
+ ## [v0.4.1](https://github.com/cantino/reckon/tree/v0.4.1) (2015-07-08)
95
+
96
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.4.0...v0.4.1)
97
+
98
+ **Closed issues:**
99
+
100
+ - Unattended [\#50](https://github.com/cantino/reckon/issues/50)
101
+ - Debit/Credit Columns from SunTrust [\#42](https://github.com/cantino/reckon/issues/42)
102
+
103
+ **Merged pull requests:**
104
+
105
+ - \[RFC\] Fix \#42: Work with suntrust double column csv files [\#48](https://github.com/cantino/reckon/pull/48) ([BlackEdder](https://github.com/BlackEdder))
106
+
107
+ ## [v0.4.0](https://github.com/cantino/reckon/tree/v0.4.0) (2015-06-05)
108
+
109
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.3.10...v0.4.0)
110
+
111
+ **Implemented enhancements:**
112
+
113
+ - Tab completion for transactions [\#40](https://github.com/cantino/reckon/issues/40)
114
+ - feature: "unattended" mode [\#3](https://github.com/cantino/reckon/issues/3)
115
+
116
+ **Closed issues:**
117
+
118
+ - Missing or stray quote error [\#38](https://github.com/cantino/reckon/issues/38)
119
+
120
+ **Merged pull requests:**
121
+
122
+ - Better ISO 8601 dates support [\#49](https://github.com/cantino/reckon/pull/49) ([vzctl](https://github.com/vzctl))
123
+ - Unattended mode and custom tokens support [\#47](https://github.com/cantino/reckon/pull/47) ([vzctl](https://github.com/vzctl))
124
+ - \[RFC\] Implement issue \#40: Tab completion [\#46](https://github.com/cantino/reckon/pull/46) ([BlackEdder](https://github.com/BlackEdder))
125
+ - set readline to allow for backspace in ask dialog [\#44](https://github.com/cantino/reckon/pull/44) ([mrtazz](https://github.com/mrtazz))
126
+
127
+ ## [v0.3.10](https://github.com/cantino/reckon/tree/v0.3.10) (2014-08-16)
128
+
129
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.3.9...v0.3.10)
130
+
131
+ **Merged pull requests:**
132
+
133
+ - Fix --encoding option [\#41](https://github.com/cantino/reckon/pull/41) ([mamciek](https://github.com/mamciek))
134
+ - Bumped version number [\#37](https://github.com/cantino/reckon/pull/37) ([BlackEdder](https://github.com/BlackEdder))
135
+
136
+ ## [v0.3.9](https://github.com/cantino/reckon/tree/v0.3.9) (2014-02-20)
137
+
138
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.3.8...v0.3.9)
139
+
140
+ **Closed issues:**
141
+
142
+ - Idea/discussion: csv parser [\#25](https://github.com/cantino/reckon/issues/25)
143
+ - Silently misinterprets UK dates [\#18](https://github.com/cantino/reckon/issues/18)
144
+
145
+ **Merged pull requests:**
146
+
147
+ - Added spec for csv files from Broker Canada [\#36](https://github.com/cantino/reckon/pull/36) ([BlackEdder](https://github.com/BlackEdder))
148
+ - Date format [\#35](https://github.com/cantino/reckon/pull/35) ([BlackEdder](https://github.com/BlackEdder))
149
+ - Added example from a french bank [\#34](https://github.com/cantino/reckon/pull/34) ([BlackEdder](https://github.com/BlackEdder))
150
+ - Austrian example [\#33](https://github.com/cantino/reckon/pull/33) ([BlackEdder](https://github.com/BlackEdder))
151
+ - Ing csv [\#30](https://github.com/cantino/reckon/pull/30) ([BlackEdder](https://github.com/BlackEdder))
152
+ - Further improvements in nationwide csv handling [\#29](https://github.com/cantino/reckon/pull/29) ([BlackEdder](https://github.com/BlackEdder))
153
+ - Refactor: Add money class [\#28](https://github.com/cantino/reckon/pull/28) ([BlackEdder](https://github.com/BlackEdder))
154
+ - Initial split of CSVparser from class App [\#27](https://github.com/cantino/reckon/pull/27) ([BlackEdder](https://github.com/BlackEdder))
155
+ - Updated version of pull request 24: Allow for other currency symbols while calculating money\_score [\#26](https://github.com/cantino/reckon/pull/26) ([BlackEdder](https://github.com/BlackEdder))
156
+ - Change double column detection [\#23](https://github.com/cantino/reckon/pull/23) ([BlackEdder](https://github.com/BlackEdder))
157
+ - Added optional argument to contains\_header to skip multiple header lines [\#22](https://github.com/cantino/reckon/pull/22) ([BlackEdder](https://github.com/BlackEdder))
158
+ - Add a Bitdeli Badge to README [\#20](https://github.com/cantino/reckon/pull/20) ([bitdeli-chef](https://github.com/bitdeli-chef))
159
+ - Update README to show latest usage info [\#19](https://github.com/cantino/reckon/pull/19) ([purcell](https://github.com/purcell))
160
+
161
+ ## [v0.3.8](https://github.com/cantino/reckon/tree/v0.3.8) (2013-07-03)
162
+
163
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.3.7...v0.3.8)
164
+
165
+ **Implemented enhancements:**
166
+
167
+ - Support other currencies [\#7](https://github.com/cantino/reckon/issues/7)
168
+
169
+ **Closed issues:**
170
+
171
+ - Add support for dates in spanish dd/mm/yyyy [\#13](https://github.com/cantino/reckon/issues/13)
172
+ - Problems with my csv file [\#8](https://github.com/cantino/reckon/issues/8)
173
+
174
+ **Merged pull requests:**
175
+
176
+ - add support for spanish dates dd/mm/yyyy closes \#13 [\#14](https://github.com/cantino/reckon/pull/14) ([mauromorales](https://github.com/mauromorales))
177
+ - fix issue showing true when parsing the currency option related to \#7 [\#12](https://github.com/cantino/reckon/pull/12) ([mauromorales](https://github.com/mauromorales))
178
+
179
+ ## [v0.3.7](https://github.com/cantino/reckon/tree/v0.3.7) (2013-06-27)
180
+
181
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.3.6...v0.3.7)
182
+
183
+ **Merged pull requests:**
184
+
185
+ - Updated the sources to allow for custom curreny [\#11](https://github.com/cantino/reckon/pull/11) ([ghost](https://github.com/ghost))
186
+ - Add --account option on the commandline [\#10](https://github.com/cantino/reckon/pull/10) ([copiousfreetime](https://github.com/copiousfreetime))
187
+
188
+ ## [v0.3.6](https://github.com/cantino/reckon/tree/v0.3.6) (2013-04-30)
189
+
190
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.3.5...v0.3.6)
191
+
192
+ **Closed issues:**
193
+
194
+ - iso-8859-1 CSV with accented chars =\> invalid byte sequence in UTF-8 \(ArgumentError\) [\#5](https://github.com/cantino/reckon/issues/5)
195
+ - Ruby 2.0 compatibility [\#4](https://github.com/cantino/reckon/issues/4)
196
+
197
+ **Merged pull requests:**
198
+
199
+ - Recognize yyyymmdd date in Reckon::App\#date\_for. [\#9](https://github.com/cantino/reckon/pull/9) ([mhoogendoorn](https://github.com/mhoogendoorn))
200
+
201
+ ## [v0.3.5](https://github.com/cantino/reckon/tree/v0.3.5) (2013-03-24)
202
+
203
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.3.4...v0.3.5)
204
+
205
+ **Closed issues:**
206
+
207
+ - backtrace trying to run reckon -f [\#2](https://github.com/cantino/reckon/issues/2)
208
+
209
+ **Merged pull requests:**
210
+
211
+ - Inverse mode [\#6](https://github.com/cantino/reckon/pull/6) ([nathankot](https://github.com/nathankot))
212
+
213
+ ## [v0.3.4](https://github.com/cantino/reckon/tree/v0.3.4) (2013-02-16)
214
+
215
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.3.3...v0.3.4)
216
+
217
+ **Merged pull requests:**
218
+
219
+ - adds support for Nordea csv files [\#1](https://github.com/cantino/reckon/pull/1) ([x2q](https://github.com/x2q))
220
+
221
+ ## [v0.3.3](https://github.com/cantino/reckon/tree/v0.3.3) (2013-01-13)
222
+
223
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.3.1...v0.3.3)
224
+
225
+ ## [v0.3.1](https://github.com/cantino/reckon/tree/v0.3.1) (2012-07-30)
226
+
227
+ [Full Changelog](https://github.com/cantino/reckon/compare/v0.3.2...v0.3.1)
228
+
229
+ ## [v0.3.2](https://github.com/cantino/reckon/tree/v0.3.2) (2012-07-30)
230
+
231
+ [Full Changelog](https://github.com/cantino/reckon/compare/5c07bea3fe63f9b909b4b76bd49f22fd8faf7a29...v0.3.2)
232
+
233
+
234
+
235
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
data/Gemfile CHANGED
@@ -1,5 +1,4 @@
1
1
  source "http://rubygems.org"
2
-
3
2
  gemspec
4
3
 
5
4
  gem 'rake'
@@ -1,34 +1,92 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- reckon (0.4.4)
4
+ reckon (0.5.4)
5
5
  chronic (>= 0.3.0)
6
- fastercsv (>= 1.5.1)
7
6
  highline (>= 1.5.2)
7
+ rchardet (>= 1.8.0)
8
8
  terminal-table (>= 1.4.2)
9
9
 
10
10
  GEM
11
11
  remote: http://rubygems.org/
12
12
  specs:
13
+ activesupport (6.0.3.1)
14
+ concurrent-ruby (~> 1.0, >= 1.0.2)
15
+ i18n (>= 0.7, < 2)
16
+ minitest (~> 5.1)
17
+ tzinfo (~> 1.1)
18
+ zeitwerk (~> 2.2, >= 2.2.2)
19
+ addressable (2.7.0)
20
+ public_suffix (>= 2.0.2, < 5.0)
13
21
  chronic (0.10.2)
14
- diff-lcs (1.1.3)
15
- fastercsv (1.5.5)
16
- highline (1.6.21)
17
- rake (10.0.4)
18
- rspec (2.11.0)
19
- rspec-core (~> 2.11.0)
20
- rspec-expectations (~> 2.11.0)
21
- rspec-mocks (~> 2.11.0)
22
- rspec-core (2.11.1)
23
- rspec-expectations (2.11.2)
24
- diff-lcs (~> 1.1.3)
25
- rspec-mocks (2.11.1)
26
- terminal-table (1.4.5)
22
+ coderay (1.1.2)
23
+ concurrent-ruby (1.1.6)
24
+ diff-lcs (1.3)
25
+ faraday (1.0.1)
26
+ multipart-post (>= 1.2, < 3)
27
+ faraday-http-cache (2.2.0)
28
+ faraday (>= 0.8)
29
+ github_changelog_generator (1.15.2)
30
+ activesupport
31
+ faraday-http-cache
32
+ multi_json
33
+ octokit (~> 4.6)
34
+ rainbow (>= 2.2.1)
35
+ rake (>= 10.0)
36
+ retriable (~> 3.0)
37
+ highline (2.0.3)
38
+ i18n (1.8.2)
39
+ concurrent-ruby (~> 1.0)
40
+ method_source (0.9.2)
41
+ minitest (5.14.1)
42
+ multi_json (1.14.1)
43
+ multipart-post (2.1.1)
44
+ octokit (4.18.0)
45
+ faraday (>= 0.9)
46
+ sawyer (~> 0.8.0, >= 0.5.3)
47
+ pry (0.12.2)
48
+ coderay (~> 1.1.0)
49
+ method_source (~> 0.9.0)
50
+ public_suffix (4.0.5)
51
+ rainbow (3.0.0)
52
+ rake (12.3.3)
53
+ rantly (1.2.0)
54
+ rchardet (1.8.0)
55
+ retriable (3.1.2)
56
+ rspec (3.9.0)
57
+ rspec-core (~> 3.9.0)
58
+ rspec-expectations (~> 3.9.0)
59
+ rspec-mocks (~> 3.9.0)
60
+ rspec-core (3.9.1)
61
+ rspec-support (~> 3.9.1)
62
+ rspec-expectations (3.9.0)
63
+ diff-lcs (>= 1.2.0, < 2.0)
64
+ rspec-support (~> 3.9.0)
65
+ rspec-mocks (3.9.1)
66
+ diff-lcs (>= 1.2.0, < 2.0)
67
+ rspec-support (~> 3.9.0)
68
+ rspec-support (3.9.2)
69
+ sawyer (0.8.2)
70
+ addressable (>= 2.3.5)
71
+ faraday (> 0.8, < 2.0)
72
+ terminal-table (1.8.0)
73
+ unicode-display_width (~> 1.1, >= 1.1.1)
74
+ thread_safe (0.3.6)
75
+ tzinfo (1.2.7)
76
+ thread_safe (~> 0.1)
77
+ unicode-display_width (1.7.0)
78
+ zeitwerk (2.3.0)
27
79
 
28
80
  PLATFORMS
29
81
  ruby
30
82
 
31
83
  DEPENDENCIES
84
+ github_changelog_generator
85
+ pry (>= 0.12.2)
32
86
  rake
87
+ rantly (= 1.2.0)
33
88
  reckon!
34
89
  rspec (>= 1.2.9)
90
+
91
+ BUNDLED WITH
92
+ 1.17.3
data/README.md CHANGED
@@ -1,14 +1,14 @@
1
1
  # Reckon
2
2
 
3
- [![Build Status](https://travis-ci.org/cantino/reckon.png)](https://travis-ci.org/cantino/reckon)
3
+ [![Build Status](https://travis-ci.org/cantino/reckon.png?branch=master)](https://travis-ci.org/cantino/reckon)
4
4
 
5
- Reckon automagically converts CSV files for use with the command-line accounting tool [Ledger](https://github.com/jwiegley/ledger/wiki). It also helps you to select the correct accounts associated with the CSV data using Bayesian machine learning.
5
+ Reckon automagically converts CSV files for use with the command-line accounting tool [Ledger](http://www.ledger-cli.org/). It also helps you to select the correct accounts associated with the CSV data using Bayesian machine learning.
6
6
 
7
7
  ## Installation
8
8
 
9
9
  Assuming you have Ruby and [Rubygems](http://rubygems.org/pages/download) installed on your system, simply run
10
10
 
11
- (sudo) gem install reckon
11
+ gem install --user reckon
12
12
 
13
13
  ## Example Usage
14
14
 
@@ -115,5 +115,12 @@ Copyright (c) 2013 Andrew Cantino. See LICENSE for details.
115
115
 
116
116
  Thanks to @BlackEdder for many contributions!
117
117
 
118
- [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/cantino/reckon/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
119
-
118
+ ## Building a new version of reckon
119
+ 1. Update reckon/version.rb
120
+ 2. Run `bundle install` to build updated Gemfile.lock
121
+ 3. Run `bundle exec github_changelog_generator -u cantino -p reckon -t $TOKEN --future-release $VERSION`
122
+ 3. Commit changes with: 'Release $VERSION'
123
+ 4. Tag release `git tag v$VERSION`
124
+ 5. `git push && git push --tags`
125
+ 6. Build new gem `gem build reckon.gemspec`
126
+ 7. Push new gem `gem push <gemname>`
@@ -1,19 +1,20 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'rubygems'
4
- if RUBY_VERSION =~ /^1\.9/ || RUBY_VERSION =~ /^2/
5
- require 'csv'
6
- else
7
- require 'fastercsv'
8
- end
4
+ require 'rchardet'
5
+ require 'chronic'
6
+ require 'csv'
9
7
  require 'highline/import'
10
8
  require 'optparse'
11
- require 'chronic'
12
- require 'time'
13
9
  require 'terminal-table'
10
+ require 'time'
11
+ require 'logger'
14
12
 
15
- require File.expand_path(File.join(File.dirname(__FILE__), "reckon", "app"))
16
- require File.expand_path(File.join(File.dirname(__FILE__), "reckon", "ledger_parser"))
17
- require File.expand_path(File.join(File.dirname(__FILE__), "reckon", "csv_parser"))
18
- require File.expand_path(File.join(File.dirname(__FILE__), "reckon", "money"))
19
-
13
+ require_relative 'reckon/version'
14
+ require_relative 'reckon/logger'
15
+ require_relative 'reckon/cosine_similarity'
16
+ require_relative 'reckon/date_column'
17
+ require_relative 'reckon/money'
18
+ require_relative 'reckon/ledger_parser'
19
+ require_relative 'reckon/csv_parser'
20
+ require_relative 'reckon/app'