mt940_parser 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -7,7 +7,6 @@ source "http://rubygems.org"
7
7
  # Include everything needed to run rake, tests, features, etc.
8
8
  group :development do
9
9
  gem "rspec", "~> 2.3.0"
10
- gem "bundler", "~> 1.0.0"
11
- gem "jeweler", "~> 1.5.2"
12
- gem "rcov", ">= 0"
10
+ gem "bundler"
11
+ gem "jeweler"
13
12
  end
data/Gemfile.lock CHANGED
@@ -3,12 +3,15 @@ GEM
3
3
  specs:
4
4
  diff-lcs (1.1.3)
5
5
  git (1.2.5)
6
- jeweler (1.5.2)
7
- bundler (~> 1.0.0)
6
+ jeweler (1.8.4)
7
+ bundler (~> 1.0)
8
8
  git (>= 1.2.5)
9
9
  rake
10
+ rdoc
11
+ json (1.7.3)
10
12
  rake (0.9.2.2)
11
- rcov (1.0.0)
13
+ rdoc (3.12)
14
+ json (~> 1.4)
12
15
  rspec (2.3.0)
13
16
  rspec-core (~> 2.3.0)
14
17
  rspec-expectations (~> 2.3.0)
@@ -22,7 +25,6 @@ PLATFORMS
22
25
  ruby
23
26
 
24
27
  DEPENDENCIES
25
- bundler (~> 1.0.0)
26
- jeweler (~> 1.5.2)
27
- rcov
28
+ bundler
29
+ jeweler
28
30
  rspec (~> 2.3.0)
data/VERSION.yml CHANGED
@@ -2,4 +2,4 @@
2
2
  :major: 1
3
3
  :minor: 0
4
4
  :build:
5
- :patch: 3
5
+ :patch: 4
data/lib/mt940.rb CHANGED
@@ -1,4 +1,3 @@
1
- # encoding: utf-8
2
1
  require 'mt940/customer_statement_message'
3
2
 
4
3
  class MT940
@@ -222,6 +221,7 @@ class MT940
222
221
  @not_implemented_fields ||= []
223
222
  @not_implemented_fields << [code, content]
224
223
  $stderr << "code not implemented: code:#{code} content: \"#{content}\"\n" if $DEBUG
224
+
225
225
  end
226
226
  end
227
227
  end
@@ -231,22 +231,17 @@ class MT940
231
231
  end
232
232
  end
233
233
 
234
+
234
235
  class << self
235
236
  def parse(text)
236
- new_text = text.clone.force_encoding("ISO-8859-1")
237
- if !new_text.valid_encoding?
238
- warn "Your data is not in binary format"
239
- new_text = text.clone.encode("ISO-8859-1")
240
- if !new_text.valid_encoding?
241
- puts "WOOOOT WHAT IS THE RIGHT ENCODING?"
242
- end
243
- end
244
- text = new_text # WOOOT refactor?
245
- text << "\r\n" if text[-1,1] == '-'
246
- raw_sheets = text.split(/^-\r\n/).map { |sheet| sheet.gsub(/\r\n(?!:)/, '') }
237
+ raise "Invalid encoding!" unless text.valid_encoding?
238
+ new_text = text.encode('utf-8')
239
+ new_text << "\r\n" if new_text[-1,1] == '-'
240
+ raw_sheets = new_text.split(/^-\r\n/).map { |sheet| sheet.gsub(/\r\n(?!:)/, '') }
247
241
  sheets = raw_sheets.map { |raw_sheet| parse_sheet(raw_sheet) }
248
242
  end
249
-
243
+
244
+
250
245
  private
251
246
  def parse_sheet(sheet)
252
247
  lines = sheet.split("\r\n")
data/mt940_parser.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "mt940_parser"
8
- s.version = "1.0.3"
8
+ s.version = "1.0.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Thies C. Arntzen", "Phillip Oertel"]
12
- s.date = "2012-04-20"
12
+ s.date = "2012-06-26"
13
13
  s.email = "developers@betterplace.org"
14
14
  s.extra_rdoc_files = [
15
15
  "LICENSE",
@@ -58,33 +58,25 @@ Gem::Specification.new do |s|
58
58
  s.homepage = "http://github.com/betterplace/mt940_parser"
59
59
  s.licenses = ["MIT"]
60
60
  s.require_paths = ["lib"]
61
- s.rubygems_version = "1.8.15"
61
+ s.rubygems_version = "1.8.24"
62
62
  s.summary = "MT940 parses account statements in the SWIFT MT940 format."
63
- s.test_files = [
64
- "test/helper.rb",
65
- "test/test_customer_statement_message.rb",
66
- "test/test_mt940.rb"
67
- ]
68
63
 
69
64
  if s.respond_to? :specification_version then
70
65
  s.specification_version = 3
71
66
 
72
67
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
73
68
  s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
74
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
75
- s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
76
- s.add_development_dependency(%q<rcov>, [">= 0"])
69
+ s.add_development_dependency(%q<bundler>, [">= 0"])
70
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
77
71
  else
78
72
  s.add_dependency(%q<rspec>, ["~> 2.3.0"])
79
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
80
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
81
- s.add_dependency(%q<rcov>, [">= 0"])
73
+ s.add_dependency(%q<bundler>, [">= 0"])
74
+ s.add_dependency(%q<jeweler>, [">= 0"])
82
75
  end
83
76
  else
84
77
  s.add_dependency(%q<rspec>, ["~> 2.3.0"])
85
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
86
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
87
- s.add_dependency(%q<rcov>, [">= 0"])
78
+ s.add_dependency(%q<bundler>, [">= 0"])
79
+ s.add_dependency(%q<jeweler>, [">= 0"])
88
80
  end
89
81
  end
90
82
 
@@ -1,5 +1,7 @@
1
- require 'helper'
1
+ require_relative 'helper'
2
2
  require 'yaml'
3
+ YAML::ENGINE.yamler = 'psych'
4
+
3
5
 
4
6
  # $DEBUG = true
5
7
  class TestCustomerStatementMessage < Test::Unit::TestCase
data/test/test_mt940.rb CHANGED
@@ -1,5 +1,7 @@
1
- require 'helper'
1
+ require_relative 'helper'
2
2
  require 'yaml'
3
+ YAML::ENGINE.yamler = 'psych'
4
+
3
5
 
4
6
  # $DEBUG = true
5
7
  class TestMt940 < Test::Unit::TestCase
@@ -27,7 +29,7 @@ class TestMt940 < Test::Unit::TestCase
27
29
  binary_file = MT940.parse(IO.read(file).force_encoding("ISO-8859-15"))
28
30
  utf8_file = MT940.parse(IO.read(file).force_encoding("UTF-8"))
29
31
  [binary_file, utf8_file].each do |file|
30
- assert_equal file.last.last.reference.encoding.name, "ISO-8859-1"
32
+ assert_equal file.last.last.reference.encoding.name, "UTF-8"
31
33
  end
32
34
  end
33
35
 
metadata CHANGED
@@ -1,95 +1,73 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: mt940_parser
3
- version: !ruby/object:Gem::Version
4
- hash: 17
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.4
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 0
9
- - 3
10
- version: 1.0.3
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
- date: 2012-04-20 00:00:00 Z
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- requirement: &id001 !ruby/object:Gem::Requirement
13
+ date: 2012-06-26 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rspec
17
+ requirement: !ruby/object:Gem::Requirement
23
18
  none: false
24
- requirements:
19
+ requirements:
25
20
  - - ~>
26
- - !ruby/object:Gem::Version
27
- hash: 3
28
- segments:
29
- - 2
30
- - 3
31
- - 0
21
+ - !ruby/object:Gem::Version
32
22
  version: 2.3.0
33
- version_requirements: *id001
34
- name: rspec
35
- prerelease: false
36
23
  type: :development
37
- - !ruby/object:Gem::Dependency
38
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
39
26
  none: false
40
- requirements:
27
+ requirements:
41
28
  - - ~>
42
- - !ruby/object:Gem::Version
43
- hash: 23
44
- segments:
45
- - 1
46
- - 0
47
- - 0
48
- version: 1.0.0
49
- version_requirements: *id002
29
+ - !ruby/object:Gem::Version
30
+ version: 2.3.0
31
+ - !ruby/object:Gem::Dependency
50
32
  name: bundler
51
- prerelease: false
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
52
39
  type: :development
53
- - !ruby/object:Gem::Dependency
54
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
55
42
  none: false
56
- requirements:
57
- - - ~>
58
- - !ruby/object:Gem::Version
59
- hash: 7
60
- segments:
61
- - 1
62
- - 5
63
- - 2
64
- version: 1.5.2
65
- version_requirements: *id003
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
66
48
  name: jeweler
67
- prerelease: false
68
- type: :development
69
- - !ruby/object:Gem::Dependency
70
- requirement: &id004 !ruby/object:Gem::Requirement
49
+ requirement: !ruby/object:Gem::Requirement
71
50
  none: false
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- hash: 3
76
- segments:
77
- - 0
78
- version: "0"
79
- version_requirements: *id004
80
- name: rcov
81
- prerelease: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
82
55
  type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
83
63
  description:
84
64
  email: developers@betterplace.org
85
65
  executables: []
86
-
87
66
  extensions: []
88
-
89
- extra_rdoc_files:
67
+ extra_rdoc_files:
90
68
  - LICENSE
91
69
  - README.rdoc
92
- files:
70
+ files:
93
71
  - .document
94
72
  - .specification
95
73
  - Gemfile
@@ -129,39 +107,31 @@ files:
129
107
  - test/test_customer_statement_message.rb
130
108
  - test/test_mt940.rb
131
109
  homepage: http://github.com/betterplace/mt940_parser
132
- licenses:
110
+ licenses:
133
111
  - MIT
134
112
  post_install_message:
135
113
  rdoc_options: []
136
-
137
- require_paths:
114
+ require_paths:
138
115
  - lib
139
- required_ruby_version: !ruby/object:Gem::Requirement
116
+ required_ruby_version: !ruby/object:Gem::Requirement
140
117
  none: false
141
- requirements:
142
- - - ">="
143
- - !ruby/object:Gem::Version
144
- hash: 3
145
- segments:
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ segments:
146
123
  - 0
147
- version: "0"
148
- required_rubygems_version: !ruby/object:Gem::Requirement
124
+ hash: -4336727774988318552
125
+ required_rubygems_version: !ruby/object:Gem::Requirement
149
126
  none: false
150
- requirements:
151
- - - ">="
152
- - !ruby/object:Gem::Version
153
- hash: 3
154
- segments:
155
- - 0
156
- version: "0"
127
+ requirements:
128
+ - - ! '>='
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
157
131
  requirements: []
158
-
159
132
  rubyforge_project:
160
- rubygems_version: 1.8.15
133
+ rubygems_version: 1.8.24
161
134
  signing_key:
162
135
  specification_version: 3
163
136
  summary: MT940 parses account statements in the SWIFT MT940 format.
164
- test_files:
165
- - test/helper.rb
166
- - test/test_customer_statement_message.rb
167
- - test/test_mt940.rb
137
+ test_files: []