Skip to content

Commit

Permalink
-parser turns everything into utf-8 before it parses it (and so now a…
Browse files Browse the repository at this point in the history
…lso outputs utf-8)

- released version 1.0.4
  • Loading branch information
edwardmccaughan committed Jun 26, 2012
1 parent 142e8d4 commit e806f94
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 27 deletions.
2 changes: 1 addition & 1 deletion VERSION.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
:major: 1
:minor: 0
:build:
:patch: 3
:patch: 4
10 changes: 2 additions & 8 deletions lib/mt940.rb
Original file line number Diff line number Diff line change
Expand Up @@ -234,14 +234,8 @@ def parse_content(content)

class << self
def parse(text)
new_text = text.clone.force_encoding("ISO-8859-1")
if !new_text.valid_encoding?
warn "Your data is not in binary format"
new_text = text.clone.encode("ISO-8859-1")
if !new_text.valid_encoding?
raise "Your data could not be encoded in binary format"
end
end
raise "Invalid encoding!" unless text.valid_encoding?
new_text = text.encode('utf-8')
new_text << "\r\n" if new_text[-1,1] == '-'
raw_sheets = new_text.split(/^-\r\n/).map { |sheet| sheet.gsub(/\r\n(?!:)/, '') }
sheets = raw_sheets.map { |raw_sheet| parse_sheet(raw_sheet) }
Expand Down
26 changes: 9 additions & 17 deletions mt940_parser.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@

Gem::Specification.new do |s|
s.name = "mt940_parser"
s.version = "1.0.3"
s.version = "1.0.4"

s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
s.authors = ["Thies C. Arntzen", "Phillip Oertel"]
s.date = "2012-04-20"
s.date = "2012-06-26"
s.email = "[email protected]"
s.extra_rdoc_files = [
"LICENSE",
Expand Down Expand Up @@ -58,33 +58,25 @@ Gem::Specification.new do |s|
s.homepage = "http://github.com/betterplace/mt940_parser"
s.licenses = ["MIT"]
s.require_paths = ["lib"]
s.rubygems_version = "1.8.15"
s.rubygems_version = "1.8.24"
s.summary = "MT940 parses account statements in the SWIFT MT940 format."
s.test_files = [
"test/helper.rb",
"test/test_customer_statement_message.rb",
"test/test_mt940.rb"
]

if s.respond_to? :specification_version then
s.specification_version = 3

if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
s.add_development_dependency(%q<rcov>, [">= 0"])
s.add_development_dependency(%q<bundler>, [">= 0"])
s.add_development_dependency(%q<jeweler>, [">= 0"])
else
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
s.add_dependency(%q<rcov>, [">= 0"])
s.add_dependency(%q<bundler>, [">= 0"])
s.add_dependency(%q<jeweler>, [">= 0"])
end
else
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
s.add_dependency(%q<rcov>, [">= 0"])
s.add_dependency(%q<bundler>, [">= 0"])
s.add_dependency(%q<jeweler>, [">= 0"])
end
end

2 changes: 1 addition & 1 deletion test/test_mt940.rb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ def test_it_takes_any_encoding_and_returns_binary
binary_file = MT940.parse(IO.read(file).force_encoding("ISO-8859-15"))
utf8_file = MT940.parse(IO.read(file).force_encoding("UTF-8"))
[binary_file, utf8_file].each do |file|
assert_equal file.last.last.reference.encoding.name, "ISO-8859-1"
assert_equal file.last.last.reference.encoding.name, "UTF-8"
end
end

Expand Down

0 comments on commit e806f94

Please sign in to comment.