reckon 0.4.4 → 0.5.4

Sign up to get free protection for your applications and to get access to all the features.
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'