total_recall 0.1.0 → 0.2.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.
data/Gemfile CHANGED
@@ -2,3 +2,5 @@ source 'http://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in total_recall.gemspec
4
4
  gemspec
5
+
6
+ gem 'rake'
data/README.md CHANGED
@@ -21,7 +21,7 @@ Develop
21
21
  $ git clone git://github.com/eval/total_recall.git
22
22
  $ cd total_recall
23
23
  $ bundle
24
- $ rake spec
24
+ $ bundle exec rake spec
25
25
 
26
26
  Author
27
27
  ------
@@ -57,6 +57,33 @@ module TotalRecall
57
57
  self.class.options
58
58
  end
59
59
  end # /Abn
60
+
61
+ class AbnCC
62
+ require 'time'
63
+
64
+ # Expected: Hash with:
65
+ #:amount => Float,
66
+ #:currency => String,
67
+ #:description => String,
68
+ #:date => Date
69
+ def parse_row(row)
70
+ amount = row[2].sub(/,/,'.').to_f
71
+ {
72
+ :amount => (row[8] == 'D' ? -amount : amount),
73
+ :date => Date.parse(row[0]),
74
+ :description => row[3],
75
+ :currency => 'EUR'
76
+ }
77
+ end
78
+
79
+ def self.options
80
+ {:col_sep => ",", :headers => true}
81
+ end
82
+
83
+ def options
84
+ self.class.options
85
+ end
86
+ end # /AbnCC
60
87
  end # /ParseStrategy
61
88
 
62
89
  class Ledger < Mustache
@@ -192,7 +219,8 @@ TEMPLATE
192
219
  def self.strategies
193
220
  {
194
221
  'abn' => TotalRecall::ParseStrategy::Abn,
195
- 'ing' => TotalRecall::ParseStrategy::Ing
222
+ 'ing' => TotalRecall::ParseStrategy::Ing,
223
+ 'abncc' => TotalRecall::ParseStrategy::AbnCC
196
224
  }
197
225
  end
198
226
 
@@ -1,3 +1,3 @@
1
1
  module TotalRecall
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -0,0 +1,3 @@
1
+ Transactie Datum , Boekingsdatum , In rekening gebracht bedrag , Handelsnaam , Stad , Land , Postcode , Referentienummer , Debet/Credit , SICMCC Code
2
+ 29/12/2011,30/12/2011,100.00,"Handelsnaam I",,,,,D,
3
+ 30/12/2011,31/12/2011,200.00,"Handelsnaam II",,,,,D,
@@ -50,3 +50,8 @@ describe TotalRecall::ParseStrategy::Ing do
50
50
  before{ @fixture = 'ing' }
51
51
  it_behaves_like "a parser"
52
52
  end
53
+
54
+ describe TotalRecall::ParseStrategy::AbnCC do
55
+ before{ @fixture = 'abncc' }
56
+ it_behaves_like "a parser"
57
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: total_recall
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-09 00:00:00.000000000Z
12
+ date: 2012-04-15 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
16
- requirement: &70281655447440 !ruby/object:Gem::Requirement
16
+ requirement: &70134896727920 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.14.6
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70281655447440
24
+ version_requirements: *70134896727920
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: terminal-table
27
- requirement: &70281655446380 !ruby/object:Gem::Requirement
27
+ requirement: &70134896727220 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.4.4
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70281655446380
35
+ version_requirements: *70134896727220
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: highline
38
- requirement: &70281655445700 !ruby/object:Gem::Requirement
38
+ requirement: &70134896726600 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.6.1
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70281655445700
46
+ version_requirements: *70134896726600
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bayes_motel
49
- requirement: &70281655444800 !ruby/object:Gem::Requirement
49
+ requirement: &70134896726040 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 0.1.0
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70281655444800
57
+ version_requirements: *70134896726040
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: mustache
60
- requirement: &70281655444120 !ruby/object:Gem::Requirement
60
+ requirement: &70134896725360 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 0.99.4
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70281655444120
68
+ version_requirements: *70134896725360
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
- requirement: &70281655443400 !ruby/object:Gem::Requirement
71
+ requirement: &70134896724820 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: 2.7.0
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70281655443400
79
+ version_requirements: *70134896724820
80
80
  description: Turn your bank records csv's into Ledger journals
81
81
  email:
82
82
  - gert@thinkcreate.nl
@@ -96,6 +96,7 @@ files:
96
96
  - lib/total_recall/version.rb
97
97
  - spec/fixtures/.keep
98
98
  - spec/fixtures/abn.csv
99
+ - spec/fixtures/abncc.csv
99
100
  - spec/fixtures/ing.csv
100
101
  - spec/spec.opts
101
102
  - spec/spec_helper.rb
@@ -113,12 +114,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
113
114
  - - ! '>='
114
115
  - !ruby/object:Gem::Version
115
116
  version: '0'
117
+ segments:
118
+ - 0
119
+ hash: -1362278848564129285
116
120
  required_rubygems_version: !ruby/object:Gem::Requirement
117
121
  none: false
118
122
  requirements:
119
123
  - - ! '>='
120
124
  - !ruby/object:Gem::Version
121
125
  version: '0'
126
+ segments:
127
+ - 0
128
+ hash: -1362278848564129285
122
129
  requirements: []
123
130
  rubyforge_project:
124
131
  rubygems_version: 1.8.10
@@ -128,8 +135,8 @@ summary: Turn your bank records csv's into Ledger journals
128
135
  test_files:
129
136
  - spec/fixtures/.keep
130
137
  - spec/fixtures/abn.csv
138
+ - spec/fixtures/abncc.csv
131
139
  - spec/fixtures/ing.csv
132
140
  - spec/spec.opts
133
141
  - spec/spec_helper.rb
134
142
  - spec/total_recall/bank_parser_spec.rb
135
- has_rdoc: