reckon 0.3.5 → 0.3.6
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.
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +5 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +5 -3
- data/README.md +2 -0
- data/lib/reckon.rb +1 -1
- data/lib/reckon/app.rb +1 -0
- data/reckon.gemspec +1 -1
- data/spec/reckon/app_spec.rb +12 -0
- metadata +11 -3
- data/.rvmrc +0 -1
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
reckon
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby-1.9.3-p392
|
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
reckon (0.3.
|
4
|
+
reckon (0.3.6)
|
5
5
|
chronic (>= 0.3.0)
|
6
6
|
fastercsv (>= 1.5.1)
|
7
7
|
highline (>= 1.5.2)
|
@@ -10,10 +10,11 @@ PATH
|
|
10
10
|
GEM
|
11
11
|
remote: http://rubygems.org/
|
12
12
|
specs:
|
13
|
-
chronic (0.9.
|
13
|
+
chronic (0.9.1)
|
14
14
|
diff-lcs (1.1.3)
|
15
15
|
fastercsv (1.5.5)
|
16
|
-
highline (1.6.
|
16
|
+
highline (1.6.18)
|
17
|
+
rake (10.0.4)
|
17
18
|
rspec (2.11.0)
|
18
19
|
rspec-core (~> 2.11.0)
|
19
20
|
rspec-expectations (~> 2.11.0)
|
@@ -28,5 +29,6 @@ PLATFORMS
|
|
28
29
|
ruby
|
29
30
|
|
30
31
|
DEPENDENCIES
|
32
|
+
rake
|
31
33
|
reckon!
|
32
34
|
rspec (>= 1.2.9)
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# Reckon
|
2
2
|
|
3
|
+
[](https://travis-ci.org/cantino/reckon)
|
4
|
+
|
3
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.
|
4
6
|
|
5
7
|
## Installation
|
data/lib/reckon.rb
CHANGED
data/lib/reckon/app.rb
CHANGED
@@ -176,6 +176,7 @@ module Reckon
|
|
176
176
|
value = [$1, $2, $3].join("/") if value =~ /^(\d{4})(\d{2})(\d{2})\d+\[\d+\:GMT\]$/ # chase format
|
177
177
|
value = [$3, $2, $1].join("/") if value =~ /^(\d{2})\.(\d{2})\.(\d{4})$/ # german format
|
178
178
|
value = [$3, $2, $1].join("/") if value =~ /^(\d{2})\-(\d{2})\-(\d{4})$/ # nordea format
|
179
|
+
value = [$1, $2, $3].join("/") if value =~ /^(\d{4})(\d{2})(\d{2})/ # yyyymmdd format
|
179
180
|
begin
|
180
181
|
guess = Chronic.parse(value, :context => :past)
|
181
182
|
if guess.to_i < 953236800 && value =~ /\//
|
data/reckon.gemspec
CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = %q{reckon}
|
6
|
-
s.version = "0.3.
|
6
|
+
s.version = "0.3.6"
|
7
7
|
s.authors = ["Andrew Cantino"]
|
8
8
|
s.email = %q{andrew@iterationlabs.com}
|
9
9
|
s.homepage = %q{https://github.com/cantino/reckon}
|
data/spec/reckon/app_spec.rb
CHANGED
@@ -14,6 +14,7 @@ describe Reckon::App do
|
|
14
14
|
@simple_csv = Reckon::App.new(:string => SIMPLE_CSV)
|
15
15
|
@german_date = Reckon::App.new(:string => GERMAN_DATE_EXAMPLE)
|
16
16
|
@danish_kroner_nordea = Reckon::App.new(:string => DANISH_KRONER_NORDEA_EXAMPLE, :csv_separator => ';', :comma_separates_cents => true)
|
17
|
+
@yyyymmdd_date = Reckon::App.new(:string => YYYYMMDD_DATE_EXAMPLE)
|
17
18
|
end
|
18
19
|
|
19
20
|
it "should be in testing mode" do
|
@@ -57,6 +58,7 @@ describe Reckon::App do
|
|
57
58
|
@two_money_columns.money_column_indices.should == [3, 4]
|
58
59
|
@harder_date_example_csv.money_column_indices.should == [1]
|
59
60
|
@danish_kroner_nordea.money_column_indices.should == [3]
|
61
|
+
@yyyymmdd_date.money_column_indices.should == [3]
|
60
62
|
end
|
61
63
|
|
62
64
|
it "should detect the date column" do
|
@@ -65,6 +67,7 @@ describe Reckon::App do
|
|
65
67
|
@two_money_columns.date_column_index.should == 0
|
66
68
|
@harder_date_example_csv.date_column_index.should == 0
|
67
69
|
@danish_kroner_nordea.date_column_index.should == 0
|
70
|
+
@yyyymmdd_date.date_column_index.should == 1
|
68
71
|
end
|
69
72
|
|
70
73
|
it "should consider all other columns to be description columns" do
|
@@ -73,6 +76,7 @@ describe Reckon::App do
|
|
73
76
|
@two_money_columns.description_column_indices.should == [1, 2, 5]
|
74
77
|
@harder_date_example_csv.description_column_indices.should == [2, 3, 4, 5, 6, 7]
|
75
78
|
@danish_kroner_nordea.description_column_indices.should == [1, 2, 4]
|
79
|
+
@yyyymmdd_date.description_column_indices.should == [0, 2]
|
76
80
|
end
|
77
81
|
end
|
78
82
|
|
@@ -103,6 +107,7 @@ describe Reckon::App do
|
|
103
107
|
@danish_kroner_nordea.money_for(3).should == -995.00
|
104
108
|
@danish_kroner_nordea.money_for(4).should == -3452.90
|
105
109
|
@danish_kroner_nordea.money_for(5).should == -655.00
|
110
|
+
@yyyymmdd_date.money_for(0).should == -123.45
|
106
111
|
end
|
107
112
|
|
108
113
|
it "should handle the comma_separates_cents option correctly" do
|
@@ -132,6 +137,9 @@ describe Reckon::App do
|
|
132
137
|
@danish_kroner_nordea.date_for(0).year.should == Time.parse("2012/11/16").year
|
133
138
|
@danish_kroner_nordea.date_for(0).month.should == Time.parse("2012/11/16").month
|
134
139
|
@danish_kroner_nordea.date_for(0).day.should == Time.parse("2012/11/16").day
|
140
|
+
@yyyymmdd_date.date_for(0).year.should == Time.parse("2012/12/31").year
|
141
|
+
@yyyymmdd_date.date_for(0).month.should == Time.parse("2012/12/31").month
|
142
|
+
@yyyymmdd_date.date_for(0).day.should == Time.parse("2012/12/31").day
|
135
143
|
end
|
136
144
|
end
|
137
145
|
|
@@ -240,4 +248,8 @@ describe Reckon::App do
|
|
240
248
|
27-08-2012;Dankort-nota MATAS - 20319 18230;27-08-2012;-655,00;21127,45
|
241
249
|
CSV
|
242
250
|
|
251
|
+
YYYYMMDD_DATE_EXAMPLE = (<<-CSV).strip
|
252
|
+
DEBIT,20121231,"ODESK***BAL-27DEC12 650-12345 CA 12/28",-123.45
|
253
|
+
CSV
|
254
|
+
|
243
255
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reckon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-04-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
@@ -102,7 +102,9 @@ extra_rdoc_files: []
|
|
102
102
|
files:
|
103
103
|
- .document
|
104
104
|
- .gitignore
|
105
|
-
- .
|
105
|
+
- .ruby-gemset
|
106
|
+
- .ruby-version
|
107
|
+
- .travis.yml
|
106
108
|
- CHANGES.md
|
107
109
|
- Gemfile
|
108
110
|
- Gemfile.lock
|
@@ -132,12 +134,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
132
134
|
- - ! '>='
|
133
135
|
- !ruby/object:Gem::Version
|
134
136
|
version: '0'
|
137
|
+
segments:
|
138
|
+
- 0
|
139
|
+
hash: 3416374461755206032
|
135
140
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
141
|
none: false
|
137
142
|
requirements:
|
138
143
|
- - ! '>='
|
139
144
|
- !ruby/object:Gem::Version
|
140
145
|
version: '0'
|
146
|
+
segments:
|
147
|
+
- 0
|
148
|
+
hash: 3416374461755206032
|
141
149
|
requirements: []
|
142
150
|
rubyforge_project:
|
143
151
|
rubygems_version: 1.8.25
|
data/.rvmrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
rvm use 1.9.3@reckon --create
|