mt940_parser 1.5.1 → 1.5.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: e32074eb5ded5911ddf66f34ed3dcb4c190f3d0a
4
- data.tar.gz: 00774e261fb15fb3152eeb7228568b11bfe0c0c6
2
+ SHA256:
3
+ metadata.gz: 20aafd1ed39f9e4f6abcc05cae6851fe4e8b0856655024b8ddd31f19293fb25a
4
+ data.tar.gz: 3446218563d87db818ba2e69a47a66bd7387d22b795c06259e65023b9d4ec97b
5
5
  SHA512:
6
- metadata.gz: 9fa729897773e1fe4f493f98b47e0dcef0cd21ed246d25777a5a06654dfd8ead27c66cb7bb6fbde1f3b74020dc496974f16b6859fd8357b2962619cf19d685f2
7
- data.tar.gz: e9cc0cbe3f8134fe7d328410dc4f3b549d85b055bc76681341a07cfd1bffd79f424df20f1790b9121fc3abeaab1a944439fdc866b6877d2ea7a9d181ff8dd801
6
+ metadata.gz: 7793777eb87381acdf9c3e9a6390c99adbf0f0c86c6bf099253ac33b0caf5452d6ff100546dff3202b1b26f86cd46ad2eae33e1f4873793fb113d7bf848e5355
7
+ data.tar.gz: 0c025aa6b52f8a9fad9b5acd0690aa6a1498a47a928129e88044ec7802b5c2787570220ae21c9b7e7e21eba5956eb9b5e6cb18a99e1c2dc5e9947a4d8f56a5ee
data/.document CHANGED
@@ -1,4 +1,4 @@
1
- README.rdoc
1
+ README.md
2
2
  lib/**/*.rb
3
3
  bin/*
4
4
  features/**/*.feature
@@ -1,8 +1,8 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: mt940
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
4
  hash: 23
5
- segments:
5
+ segments:
6
6
  - 1
7
7
  - 0
8
8
  - 0
@@ -10,58 +10,57 @@ version: !ruby/object:Gem::Version
10
10
  platform: ruby
11
11
  authors: []
12
12
 
13
- autorequire:
13
+ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
17
  date: 2010-03-24 00:00:00 +01:00
18
- default_executable:
18
+ default_executable:
19
19
  dependencies: []
20
20
 
21
- description:
22
- email:
21
+ description:
22
+ email:
23
23
  executables: []
24
24
 
25
25
  extensions: []
26
26
 
27
27
  extra_rdoc_files: []
28
28
 
29
- files:
29
+ files:
30
30
  - lib
31
31
  - lib/mt940.rb
32
- has_rdoc: true
33
- homepage:
32
+ has_rdoc: false
33
+ homepage:
34
34
  licenses: []
35
35
 
36
- post_install_message:
36
+ post_install_message:
37
37
  rdoc_options: []
38
38
 
39
- require_paths:
39
+ require_paths:
40
40
  - lib
41
- required_ruby_version: !ruby/object:Gem::Requirement
42
- requirements:
41
+ required_ruby_version: !ruby/object:Gem::Requirement
42
+ requirements:
43
43
  - - ">="
44
- - !ruby/object:Gem::Version
44
+ - !ruby/object:Gem::Version
45
45
  hash: 3
46
- segments:
46
+ segments:
47
47
  - 0
48
48
  version: "0"
49
- version:
50
- required_rubygems_version: !ruby/object:Gem::Requirement
51
- requirements:
49
+ version:
50
+ required_rubygems_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
52
  - - ">="
53
- - !ruby/object:Gem::Version
53
+ - !ruby/object:Gem::Version
54
54
  hash: 3
55
- segments:
55
+ segments:
56
56
  - 0
57
57
  version: "0"
58
- version:
58
+ version:
59
59
  requirements: []
60
60
 
61
- rubyforge_project:
61
+ rubyforge_project:
62
62
  rubygems_version: 1.3.7
63
- signing_key:
63
+ signing_key:
64
64
  specification_version: 3
65
- summary:
65
+ summary:
66
66
  test_files: []
67
-
@@ -1,14 +1,18 @@
1
- sudo: false
1
+ before_install:
2
+ - gem update --system
3
+ - gem update bundler
4
+
2
5
  rvm:
3
- - 2.0
4
6
  - 2.1
5
7
  - 2.2
6
- - 2.3.0
8
+ - 2.3
9
+ - 2.4
10
+ - 2.5
7
11
  - ruby-head
8
12
  - jruby-head
9
13
  matrix:
10
14
  allow_failures:
11
15
  - rvm: ruby-head
12
16
  - rvm: jruby-head
13
- env:
14
- - CODECLIMATE_REPO_TOKEN=fadbdd7769b9a01ae6b8e3c8b2adf2de3049c87f8407c502fbe11d10578f1d43
17
+
18
+ sudo: false
data/Gemfile CHANGED
@@ -5,7 +5,3 @@ gemspec
5
5
  group :development do
6
6
  gem "byebug", platform: :mri
7
7
  end
8
-
9
- group :test do
10
- gem "codeclimate-test-reporter", require: nil
11
- end
@@ -1,12 +1,14 @@
1
- = mt940
1
+ [![Gem Version](https://badge.fury.io/rb/mt940_parser.svg)](http://badge.fury.io/rb/mt940_parser) [![Build Status](https://secure.travis-ci.org/betterplace/mt940_parser.svg?branch=master)](http://travis-ci.org/betterplace/mt940_parser)
2
2
 
3
- This is a library to parse account statements which are formatted as SWIFT mt940.
3
+ # mt940_parser
4
+
5
+ This is a library to parse account statements which are formatted as SWIFT mt940.
4
6
 
5
7
  See the following link for documentation of the format.
6
8
  http://www.google.de/url?sa=t&source=web&cd=1&ved=0CBwQFjAA&url=http%3A%2F%2Fmartin.hinner.info%2Fbankconvert%2Fswift_mt940_942.pdf&ei=alO_TObpPNGRswbD15WqDQ&usg=AFQjCNHkVGOfzofgKkk6dEkynAho02S2cg
7
9
 
8
- == Note on Patches/Pull Requests
9
-
10
+ ## Note on Patches/Pull Requests
11
+
10
12
  * Fork the project.
11
13
  * Make your feature addition or bug fix.
12
14
  * Add tests for it. This is important so I don't break it in a
@@ -15,6 +17,6 @@ http://www.google.de/url?sa=t&source=web&cd=1&ved=0CBwQFjAA&url=http%3A%2F%2Fmar
15
17
  (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
16
18
  * Send me a pull request. Bonus points for topic branches.
17
19
 
18
- == Copyright
20
+ ## Copyright
19
21
 
20
22
  Copyright (c) 2010 Thies C. Arntzen. See LICENSE for details.
data/Rakefile CHANGED
@@ -18,11 +18,10 @@ GemHadar do
18
18
  ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', '.rvmrc', 'coverage',
19
19
  '.DS_Store', '.ruby-gemset', '.ruby-version', '.bundle', '.AppleDouble'
20
20
 
21
- readme 'README.rdoc'
21
+ readme 'README.md'
22
22
  licenses 'MIT'
23
23
 
24
24
  development_dependency 'test-unit'
25
- development_dependency 'simplecov'
26
25
  end
27
26
 
28
27
  task :default => :test
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.1
1
+ 1.5.2
@@ -2,6 +2,8 @@ require 'mt940/version'
2
2
  require 'mt940/errors'
3
3
  require 'mt940/customer_statement_message'
4
4
  require 'bigdecimal'
5
+ require 'bigdecimal/util'
6
+ require 'date'
5
7
 
6
8
  class MT940
7
9
  class Field
@@ -48,17 +50,17 @@ class MT940
48
50
  def parse_amount_in_cents(amount)
49
51
  amount =~ /\A(\d+)(,\d*)?\z/ or
50
52
  raise Errors::InvalidAmountFormatError, "invalid amount #{amount.inspect}"
51
- (100 * BigDecimal.new(amount.sub(?,, ?.))).floor
53
+ (100 * amount.sub(',', '.').sub(/\.\z/, '').to_d).floor
52
54
  end
53
55
 
54
56
  def parse_date(date)
55
57
  date.match(DATE)
56
- Date.new("20#{$1}".to_i, $2.to_i, $3.to_i)
58
+ ::Date.new("20#{$1}".to_i, $2.to_i, $3.to_i)
57
59
  end
58
60
 
59
61
  def parse_entry_date(raw_entry_date, value_date)
60
62
  raw_entry_date.match(SHORT_DATE)
61
- entry_date = Date.new(value_date.year, $1.to_i, $2.to_i)
63
+ entry_date = ::Date.new(value_date.year, $1.to_i, $2.to_i)
62
64
  unless entry_date.year == value_date.year
63
65
  raise "Unhandled case: value date and entry date are in different years"
64
66
  end
@@ -165,7 +167,7 @@ class MT940
165
167
  when 'ALT', '0'
166
168
  nil
167
169
  when DATE
168
- Date.new("20#{$1}".to_i, $2.to_i, $3.to_i)
170
+ ::Date.new("20#{$1}".to_i, $2.to_i, $3.to_i)
169
171
  end
170
172
  end
171
173
  end
@@ -1,6 +1,6 @@
1
1
  class MT940
2
2
  # MT940 version
3
- VERSION = '1.5.1'
3
+ VERSION = '1.5.2'
4
4
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
@@ -1,40 +1,35 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: mt940_parser 1.5.1 ruby lib
2
+ # stub: mt940_parser 1.5.2 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
- s.name = "mt940_parser"
6
- s.version = "1.5.1"
5
+ s.name = "mt940_parser".freeze
6
+ s.version = "1.5.2"
7
7
 
8
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
- s.require_paths = ["lib"]
10
- s.authors = ["Thies C. Arntzen", "Phillip Oertel"]
11
- s.date = "2016-10-26"
12
- s.description = "Ruby library that parses account statements in the SWIFT MT940 format."
13
- s.email = "developers@betterplace.org"
14
- s.extra_rdoc_files = ["README.rdoc", "lib/mt940.rb", "lib/mt940/customer_statement_message.rb", "lib/mt940/errors.rb", "lib/mt940/version.rb"]
15
- s.files = [".document", ".gitignore", ".specification", ".travis.yml", "Gemfile", "LICENSE", "README.rdoc", "Rakefile", "VERSION", "VERSION.yml", "docs/0E0Y00DNY.pdf", "docs/FinTS_4.0_Formals.pdf", "docs/FinTS_4.0_Messages_Finanzdatenformate.pdf", "docs/MT940_Deutschland_Structure2002.pdf", "docs/SEPA_20MT940__Schnittstellenbeschreibung.pdf", "docs/mt940.pdf", "docs/swift_mt940_942.pdf", "docs/uebersicht_der_geschaeftsvorfallcodes_und_buchungs_textschluessel.pdf", "lib/mt940.rb", "lib/mt940/customer_statement_message.rb", "lib/mt940/errors.rb", "lib/mt940/version.rb", "mt940_parser.gemspec", "test/fixtures/amount_formats.txt", "test/fixtures/amount_formats.yml", "test/fixtures/currency_in_25.txt", "test/fixtures/currency_in_25.yml", "test/fixtures/empty_86.txt", "test/fixtures/empty_86.yml", "test/fixtures/empty_entry_date.txt", "test/fixtures/empty_entry_date.yml", "test/fixtures/empty_line.txt", "test/fixtures/empty_line.yml", "test/fixtures/missing_crlf_at_end.txt", "test/fixtures/missing_crlf_at_end.yml", "test/fixtures/sepa_mt9401.txt", "test/fixtures/sepa_mt9401.yml", "test/fixtures/sepa_snippet.txt", "test/fixtures/sepa_snippet_broken.txt", "test/fixtures/with_binary_character.txt", "test/fixtures/with_binary_character.yml", "test/test_account_identifier.rb", "test/test_customer_statement_message.rb", "test/test_helper.rb", "test/test_mt940.rb"]
16
- s.homepage = "http://github.com/betterplace/mt940_parser"
17
- s.licenses = ["MIT"]
18
- s.rdoc_options = ["--title", "Mt940Parser - MT940 parses account statements in the SWIFT MT940 format.", "--main", "README.rdoc"]
19
- s.rubygems_version = "2.5.1"
20
- s.summary = "MT940 parses account statements in the SWIFT MT940 format."
21
- s.test_files = ["test/test_account_identifier.rb", "test/test_customer_statement_message.rb", "test/test_helper.rb", "test/test_mt940.rb"]
8
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
+ s.require_paths = ["lib".freeze]
10
+ s.authors = ["Thies C. Arntzen".freeze, "Phillip Oertel".freeze]
11
+ s.date = "2018-01-02"
12
+ s.description = "Ruby library that parses account statements in the SWIFT MT940 format.".freeze
13
+ s.email = "developers@betterplace.org".freeze
14
+ s.files = [".document".freeze, ".gitignore".freeze, ".specification".freeze, ".travis.yml".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "docs/0E0Y00DNY.pdf".freeze, "docs/FinTS_4.0_Formals.pdf".freeze, "docs/FinTS_4.0_Messages_Finanzdatenformate.pdf".freeze, "docs/MT940_Deutschland_Structure2002.pdf".freeze, "docs/SEPA_20MT940__Schnittstellenbeschreibung.pdf".freeze, "docs/mt940.pdf".freeze, "docs/swift_mt940_942.pdf".freeze, "docs/uebersicht_der_geschaeftsvorfallcodes_und_buchungs_textschluessel.pdf".freeze, "lib/mt940.rb".freeze, "lib/mt940/customer_statement_message.rb".freeze, "lib/mt940/errors.rb".freeze, "lib/mt940/version.rb".freeze, "mt940_parser.gemspec".freeze, "test/fixtures/amount_formats.txt".freeze, "test/fixtures/amount_formats.yml".freeze, "test/fixtures/currency_in_25.txt".freeze, "test/fixtures/currency_in_25.yml".freeze, "test/fixtures/empty_86.txt".freeze, "test/fixtures/empty_86.yml".freeze, "test/fixtures/empty_entry_date.txt".freeze, "test/fixtures/empty_entry_date.yml".freeze, "test/fixtures/empty_line.txt".freeze, "test/fixtures/empty_line.yml".freeze, "test/fixtures/missing_crlf_at_end.txt".freeze, "test/fixtures/missing_crlf_at_end.yml".freeze, "test/fixtures/sepa_mt9401.txt".freeze, "test/fixtures/sepa_mt9401.yml".freeze, "test/fixtures/sepa_snippet.txt".freeze, "test/fixtures/sepa_snippet_broken.txt".freeze, "test/fixtures/with_binary_character.txt".freeze, "test/fixtures/with_binary_character.yml".freeze, "test/test_account_identifier.rb".freeze, "test/test_customer_statement_message.rb".freeze, "test/test_helper.rb".freeze, "test/test_mt940.rb".freeze]
15
+ s.homepage = "http://github.com/betterplace/mt940_parser".freeze
16
+ s.licenses = ["MIT".freeze]
17
+ s.rubygems_version = "2.7.3".freeze
18
+ s.summary = "MT940 parses account statements in the SWIFT MT940 format.".freeze
19
+ s.test_files = ["test/test_helper.rb".freeze, "test/test_account_identifier.rb".freeze, "test/test_mt940.rb".freeze, "test/test_customer_statement_message.rb".freeze]
22
20
 
23
21
  if s.respond_to? :specification_version then
24
22
  s.specification_version = 4
25
23
 
26
24
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
27
- s.add_development_dependency(%q<gem_hadar>, ["~> 1.3.1"])
28
- s.add_development_dependency(%q<test-unit>, [">= 0"])
29
- s.add_development_dependency(%q<simplecov>, [">= 0"])
25
+ s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.3.1"])
26
+ s.add_development_dependency(%q<test-unit>.freeze, [">= 0"])
30
27
  else
31
- s.add_dependency(%q<gem_hadar>, ["~> 1.3.1"])
32
- s.add_dependency(%q<test-unit>, [">= 0"])
33
- s.add_dependency(%q<simplecov>, [">= 0"])
28
+ s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.3.1"])
29
+ s.add_dependency(%q<test-unit>.freeze, [">= 0"])
34
30
  end
35
31
  else
36
- s.add_dependency(%q<gem_hadar>, ["~> 1.3.1"])
37
- s.add_dependency(%q<test-unit>, [">= 0"])
38
- s.add_dependency(%q<simplecov>, [">= 0"])
32
+ s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.3.1"])
33
+ s.add_dependency(%q<test-unit>.freeze, [">= 0"])
39
34
  end
40
35
  end
@@ -1,13 +1,3 @@
1
- if ENV['START_SIMPLECOV'].to_i == 1
2
- require 'simplecov'
3
- SimpleCov.start do
4
- add_filter "#{File.basename(File.dirname(__FILE__))}/"
5
- end
6
- end
7
- if ENV['CODECLIMATE_REPO_TOKEN']
8
- require "codeclimate-test-reporter"
9
- CodeClimate::TestReporter.start
10
- end
11
1
  require 'test/unit'
12
2
  begin
13
3
  require 'byebug'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mt940_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.1
4
+ version: 1.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thies C. Arntzen
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-10-26 00:00:00.000000000 Z
12
+ date: 2018-01-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: gem_hadar
@@ -39,30 +39,11 @@ dependencies:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
- - !ruby/object:Gem::Dependency
43
- name: simplecov
44
- requirement: !ruby/object:Gem::Requirement
45
- requirements:
46
- - - ">="
47
- - !ruby/object:Gem::Version
48
- version: '0'
49
- type: :development
50
- prerelease: false
51
- version_requirements: !ruby/object:Gem::Requirement
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- version: '0'
56
42
  description: Ruby library that parses account statements in the SWIFT MT940 format.
57
43
  email: developers@betterplace.org
58
44
  executables: []
59
45
  extensions: []
60
- extra_rdoc_files:
61
- - README.rdoc
62
- - lib/mt940.rb
63
- - lib/mt940/customer_statement_message.rb
64
- - lib/mt940/errors.rb
65
- - lib/mt940/version.rb
46
+ extra_rdoc_files: []
66
47
  files:
67
48
  - ".document"
68
49
  - ".gitignore"
@@ -70,10 +51,9 @@ files:
70
51
  - ".travis.yml"
71
52
  - Gemfile
72
53
  - LICENSE
73
- - README.rdoc
54
+ - README.md
74
55
  - Rakefile
75
56
  - VERSION
76
- - VERSION.yml
77
57
  - docs/0E0Y00DNY.pdf
78
58
  - docs/FinTS_4.0_Formals.pdf
79
59
  - docs/FinTS_4.0_Messages_Finanzdatenformate.pdf
@@ -114,11 +94,7 @@ licenses:
114
94
  - MIT
115
95
  metadata: {}
116
96
  post_install_message:
117
- rdoc_options:
118
- - "--title"
119
- - Mt940Parser - MT940 parses account statements in the SWIFT MT940 format.
120
- - "--main"
121
- - README.rdoc
97
+ rdoc_options: []
122
98
  require_paths:
123
99
  - lib
124
100
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -133,12 +109,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
109
  version: '0'
134
110
  requirements: []
135
111
  rubyforge_project:
136
- rubygems_version: 2.5.1
112
+ rubygems_version: 2.7.3
137
113
  signing_key:
138
114
  specification_version: 4
139
115
  summary: MT940 parses account statements in the SWIFT MT940 format.
140
116
  test_files:
141
- - test/test_account_identifier.rb
142
- - test/test_customer_statement_message.rb
143
117
  - test/test_helper.rb
118
+ - test/test_account_identifier.rb
144
119
  - test/test_mt940.rb
120
+ - test/test_customer_statement_message.rb
@@ -1,5 +0,0 @@
1
- ---
2
- :major: 1
3
- :minor: 3
4
- :patch: 0
5
- :build: