mt940_parser 1.0.1 → 1.0.2
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/VERSION.yml +3 -3
- data/lib/mt940.rb +24 -6
- data/mt940_parser.gemspec +11 -8
- data/test/fixtures/empty_entry_date.txt +2 -0
- data/test/fixtures/empty_entry_date.yml +9 -0
- data/test/fixtures/sepa_mt9401.yml +2149 -2228
- data/test/fixtures/with_binary_character.txt +27 -0
- data/test/fixtures/with_binary_character.yml +4 -0
- data/test/test_mt940.rb +17 -2
- metadata +73 -82
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
:20:STAR1ÜTßUMS
|
|
2
|
+
:25:51230800/0000007055
|
|
3
|
+
:28C:00027/00001
|
|
4
|
+
:60F:C100318EUR380115,77
|
|
5
|
+
:61:1003190319CR27,00NTRF100323-03-100323//32-P1-TCS49518
|
|
6
|
+
:86:051?00Bank Transfer Credit?10930226?20QQW53T2245ZGY46J ABBUCH
|
|
7
|
+
UNG?21VOM PAYPAL-KONTO?22100318P3TX1433EV?3050070010?310175526300
|
|
8
|
+
?32PAYPAL?34000
|
|
9
|
+
:61:1003190319CR13068,30N051NONREF
|
|
10
|
+
:86:051?00Bank Transfer Credit?10991118?20BETTERPLACE WDB E?2108.
|
|
11
|
+
03.10-14.03.10?3051230800?319990437808?32WIRECARD BANK AG?34000
|
|
12
|
+
:61:1003190319DR193282,05N035NONREF
|
|
13
|
+
:86:035?00Zahlung m.Elektr.Unterschr.?10991132?20Belegloser Zahlu
|
|
14
|
+
ngsauftrag?21Erstellungsdatum:19.03.2010?22Anzahl Posten : 9
|
|
15
|
+
4?23Anw-Nr.: 69725563000?34540
|
|
16
|
+
:62F:C100319EUR199929,02
|
|
17
|
+
-
|
|
18
|
+
:20:STAR1ÜTUMS
|
|
19
|
+
:25:51230800/0000007304
|
|
20
|
+
:28C:00053/00001
|
|
21
|
+
:60F:C100318EUR130073,19
|
|
22
|
+
:61:1003220319CR1120,00N085NONREF
|
|
23
|
+
:86:085?00Zahlung m.Elektr.Unterschr.?10991135?20Belegloser Zahlu
|
|
24
|
+
ngsauftrag?21Überweisung:19.03.2010?22Anzahl Posten :
|
|
25
|
+
7?23Anw-Nr.: 69725663086?34540
|
|
26
|
+
:62F:C100319EUR131193,19
|
|
27
|
+
-
|
data/test/test_mt940.rb
CHANGED
|
@@ -7,13 +7,28 @@ class TestMt940 < Test::Unit::TestCase
|
|
|
7
7
|
def read_mt940_data(file)
|
|
8
8
|
MT940.parse(IO.read(file))
|
|
9
9
|
end
|
|
10
|
+
|
|
11
|
+
def writeout(name, data)
|
|
12
|
+
|
|
13
|
+
File.open(name, "w") { |f| f.write data }
|
|
14
|
+
end
|
|
10
15
|
|
|
11
16
|
def test_it_should_parse_fixture_files_correctly
|
|
12
17
|
Dir[File.dirname(__FILE__) + "/fixtures/*.txt"].reject { |f| f =~ /sepa_snippet/ }.each do |file|
|
|
13
18
|
data = read_mt940_data(file)
|
|
14
19
|
generated_structure_file = file.gsub(/.txt$/, ".yml")
|
|
15
20
|
|
|
16
|
-
assert_equal
|
|
21
|
+
assert_equal YAML::load_file(generated_structure_file).to_yaml, data.to_yaml
|
|
17
22
|
end
|
|
18
23
|
end
|
|
19
|
-
|
|
24
|
+
|
|
25
|
+
def test_it_takes_any_encoding_and_returns_binary
|
|
26
|
+
file = File.dirname(__FILE__) + "/fixtures/with_binary_character.txt"
|
|
27
|
+
binary_file = MT940.parse(IO.read(file).force_encoding("ISO-8859-15"))
|
|
28
|
+
utf8_file = MT940.parse(IO.read(file).force_encoding("UTF-8"))
|
|
29
|
+
[binary_file, utf8_file].each do |file|
|
|
30
|
+
assert_equal file.last.last.reference.encoding.name, "ISO-8859-1"
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
end
|
metadata
CHANGED
|
@@ -1,96 +1,89 @@
|
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mt940_parser
|
|
3
|
-
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
5
|
-
prerelease:
|
|
6
|
-
segments:
|
|
7
|
-
- 1
|
|
8
|
-
- 0
|
|
9
|
-
- 1
|
|
10
|
-
version: 1.0.1
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 1.0.2
|
|
5
|
+
prerelease:
|
|
11
6
|
platform: ruby
|
|
12
|
-
authors:
|
|
7
|
+
authors:
|
|
13
8
|
- Thies C. Arntzen
|
|
14
9
|
- Phillip Oertel
|
|
15
10
|
autorequire:
|
|
16
11
|
bindir: bin
|
|
17
12
|
cert_chain: []
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
dependencies:
|
|
22
|
-
- !ruby/object:Gem::Dependency
|
|
23
|
-
type: :development
|
|
24
|
-
prerelease: false
|
|
13
|
+
date: 2012-04-18 00:00:00.000000000 Z
|
|
14
|
+
dependencies:
|
|
15
|
+
- !ruby/object:Gem::Dependency
|
|
25
16
|
name: rspec
|
|
26
|
-
|
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
|
27
18
|
none: false
|
|
28
|
-
requirements:
|
|
19
|
+
requirements:
|
|
29
20
|
- - ~>
|
|
30
|
-
- !ruby/object:Gem::Version
|
|
31
|
-
hash: 3
|
|
32
|
-
segments:
|
|
33
|
-
- 2
|
|
34
|
-
- 3
|
|
35
|
-
- 0
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
36
22
|
version: 2.3.0
|
|
37
|
-
requirement: *id001
|
|
38
|
-
- !ruby/object:Gem::Dependency
|
|
39
23
|
type: :development
|
|
40
24
|
prerelease: false
|
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
26
|
+
none: false
|
|
27
|
+
requirements:
|
|
28
|
+
- - ~>
|
|
29
|
+
- !ruby/object:Gem::Version
|
|
30
|
+
version: 2.3.0
|
|
31
|
+
- !ruby/object:Gem::Dependency
|
|
41
32
|
name: bundler
|
|
42
|
-
|
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
|
43
34
|
none: false
|
|
44
|
-
requirements:
|
|
35
|
+
requirements:
|
|
45
36
|
- - ~>
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
hash: 23
|
|
48
|
-
segments:
|
|
49
|
-
- 1
|
|
50
|
-
- 0
|
|
51
|
-
- 0
|
|
37
|
+
- !ruby/object:Gem::Version
|
|
52
38
|
version: 1.0.0
|
|
53
|
-
requirement: *id002
|
|
54
|
-
- !ruby/object:Gem::Dependency
|
|
55
39
|
type: :development
|
|
56
40
|
prerelease: false
|
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
42
|
+
none: false
|
|
43
|
+
requirements:
|
|
44
|
+
- - ~>
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: 1.0.0
|
|
47
|
+
- !ruby/object:Gem::Dependency
|
|
57
48
|
name: jeweler
|
|
58
|
-
|
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
|
59
50
|
none: false
|
|
60
|
-
requirements:
|
|
51
|
+
requirements:
|
|
61
52
|
- - ~>
|
|
62
|
-
- !ruby/object:Gem::Version
|
|
63
|
-
hash: 7
|
|
64
|
-
segments:
|
|
65
|
-
- 1
|
|
66
|
-
- 5
|
|
67
|
-
- 2
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
68
54
|
version: 1.5.2
|
|
69
|
-
requirement: *id003
|
|
70
|
-
- !ruby/object:Gem::Dependency
|
|
71
55
|
type: :development
|
|
72
56
|
prerelease: false
|
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
58
|
+
none: false
|
|
59
|
+
requirements:
|
|
60
|
+
- - ~>
|
|
61
|
+
- !ruby/object:Gem::Version
|
|
62
|
+
version: 1.5.2
|
|
63
|
+
- !ruby/object:Gem::Dependency
|
|
73
64
|
name: rcov
|
|
74
|
-
|
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
|
75
66
|
none: false
|
|
76
|
-
requirements:
|
|
77
|
-
- -
|
|
78
|
-
- !ruby/object:Gem::Version
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
67
|
+
requirements:
|
|
68
|
+
- - ! '>='
|
|
69
|
+
- !ruby/object:Gem::Version
|
|
70
|
+
version: '0'
|
|
71
|
+
type: :development
|
|
72
|
+
prerelease: false
|
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
74
|
+
none: false
|
|
75
|
+
requirements:
|
|
76
|
+
- - ! '>='
|
|
77
|
+
- !ruby/object:Gem::Version
|
|
78
|
+
version: '0'
|
|
84
79
|
description:
|
|
85
80
|
email: developers@betterplace.org
|
|
86
81
|
executables: []
|
|
87
|
-
|
|
88
82
|
extensions: []
|
|
89
|
-
|
|
90
|
-
extra_rdoc_files:
|
|
83
|
+
extra_rdoc_files:
|
|
91
84
|
- LICENSE
|
|
92
85
|
- README.rdoc
|
|
93
|
-
files:
|
|
86
|
+
files:
|
|
94
87
|
- .document
|
|
95
88
|
- .specification
|
|
96
89
|
- Gemfile
|
|
@@ -114,6 +107,8 @@ files:
|
|
|
114
107
|
- test/fixtures/currency_in_25.yml
|
|
115
108
|
- test/fixtures/empty_86.txt
|
|
116
109
|
- test/fixtures/empty_86.yml
|
|
110
|
+
- test/fixtures/empty_entry_date.txt
|
|
111
|
+
- test/fixtures/empty_entry_date.yml
|
|
117
112
|
- test/fixtures/empty_line.txt
|
|
118
113
|
- test/fixtures/empty_line.yml
|
|
119
114
|
- test/fixtures/missing_crlf_at_end.txt
|
|
@@ -122,44 +117,40 @@ files:
|
|
|
122
117
|
- test/fixtures/sepa_mt9401.yml
|
|
123
118
|
- test/fixtures/sepa_snippet.txt
|
|
124
119
|
- test/fixtures/sepa_snippet_broken.txt
|
|
120
|
+
- test/fixtures/with_binary_character.txt
|
|
121
|
+
- test/fixtures/with_binary_character.yml
|
|
125
122
|
- test/helper.rb
|
|
126
123
|
- test/test_customer_statement_message.rb
|
|
127
124
|
- test/test_mt940.rb
|
|
128
|
-
has_rdoc: true
|
|
129
125
|
homepage: http://github.com/betterplace/mt940_parser
|
|
130
|
-
licenses:
|
|
126
|
+
licenses:
|
|
131
127
|
- MIT
|
|
132
128
|
post_install_message:
|
|
133
129
|
rdoc_options: []
|
|
134
|
-
|
|
135
|
-
require_paths:
|
|
130
|
+
require_paths:
|
|
136
131
|
- lib
|
|
137
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
|
132
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
138
133
|
none: false
|
|
139
|
-
requirements:
|
|
140
|
-
- -
|
|
141
|
-
- !ruby/object:Gem::Version
|
|
142
|
-
|
|
143
|
-
segments:
|
|
134
|
+
requirements:
|
|
135
|
+
- - ! '>='
|
|
136
|
+
- !ruby/object:Gem::Version
|
|
137
|
+
version: '0'
|
|
138
|
+
segments:
|
|
144
139
|
- 0
|
|
145
|
-
|
|
146
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
140
|
+
hash: -2324902882984178046
|
|
141
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
142
|
none: false
|
|
148
|
-
requirements:
|
|
149
|
-
- -
|
|
150
|
-
- !ruby/object:Gem::Version
|
|
151
|
-
|
|
152
|
-
segments:
|
|
153
|
-
- 0
|
|
154
|
-
version: "0"
|
|
143
|
+
requirements:
|
|
144
|
+
- - ! '>='
|
|
145
|
+
- !ruby/object:Gem::Version
|
|
146
|
+
version: '0'
|
|
155
147
|
requirements: []
|
|
156
|
-
|
|
157
148
|
rubyforge_project:
|
|
158
|
-
rubygems_version: 1.
|
|
149
|
+
rubygems_version: 1.8.21
|
|
159
150
|
signing_key:
|
|
160
151
|
specification_version: 3
|
|
161
152
|
summary: MT940 parses account statements in the SWIFT MT940 format.
|
|
162
|
-
test_files:
|
|
153
|
+
test_files:
|
|
163
154
|
- test/helper.rb
|
|
164
155
|
- test/test_customer_statement_message.rb
|
|
165
156
|
- test/test_mt940.rb
|