mt940_parser 1.0.3 → 1.0.4

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
@@ -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: []