mt940_parser 1.5.1 → 1.5.2

Sign up to get free protection for your applications and to get access to all the features.
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: