mt940_parser 1.5.2 → 1.5.3

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
2
  SHA256:
3
- metadata.gz: 20aafd1ed39f9e4f6abcc05cae6851fe4e8b0856655024b8ddd31f19293fb25a
4
- data.tar.gz: 3446218563d87db818ba2e69a47a66bd7387d22b795c06259e65023b9d4ec97b
3
+ metadata.gz: '092f1e507213d85a4c94c5685e55a49c7dc9246ee6188c4c5d2cc7609355fa31'
4
+ data.tar.gz: 021d003331e57253a8e05e20847ebcdb0bbfbc173062960014cb99cf4cae081b
5
5
  SHA512:
6
- metadata.gz: 7793777eb87381acdf9c3e9a6390c99adbf0f0c86c6bf099253ac33b0caf5452d6ff100546dff3202b1b26f86cd46ad2eae33e1f4873793fb113d7bf848e5355
7
- data.tar.gz: 0c025aa6b52f8a9fad9b5acd0690aa6a1498a47a928129e88044ec7802b5c2787570220ae21c9b7e7e21eba5956eb9b5e6cb18a99e1c2dc5e9947a4d8f56a5ee
6
+ metadata.gz: 54df6bec1b0ed2b7e6e8b63b3ef710ab886b78df5da253e977ad68f893d5118c8f189faaeca400305f01cf34fdd8368a12ccdf6934aca454a1a702e71ae63533
7
+ data.tar.gz: ac777c871fd6c0fd1e51461cf5ee2509085197e7036cda2aa297ebe05dfa90d473e61c45da9633f63c8670e3d30cd6e94001ce39a833dbc70b2157658c9a0190
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.2
1
+ 1.5.3
data/lib/mt940.rb CHANGED
@@ -15,7 +15,7 @@ class MT940
15
15
  class << self
16
16
 
17
17
  def for(line)
18
- if line.match(/^:(\d{2,2})(\w)?:(.*)$/)
18
+ if line.match(/^:(\d{2})(\w)?:(.*)$/)
19
19
  number, modifier, content = $1, $2, $3
20
20
  klass = {
21
21
  '20' => Job,
@@ -272,8 +272,10 @@ class MT940
272
272
  class << self
273
273
  def parse(text)
274
274
  new_text = text.encode('UTF-8').strip
275
- new_text << "\r\n" if new_text[-1,1] == '-'
276
- raw_sheets = new_text.split(/^-\s*\r\n/).map { |sheet| sheet.gsub(/\r\n(?!:)/, '') }
275
+ new_text << "\r\n" if new_text.end_with?('-')
276
+ raw_sheets = new_text.split(/^-\s*\r\n/).map do |sheet|
277
+ sheet.gsub(/\r\n(?!:\d{2}\w?:)/, '')
278
+ end
277
279
  sheets = raw_sheets.map { |raw_sheet| parse_sheet(raw_sheet) }
278
280
  end
279
281
 
data/lib/mt940/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  class MT940
2
2
  # MT940 version
3
- VERSION = '1.5.2'
3
+ VERSION = '1.5.3'
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:
data/mt940_parser.gemspec CHANGED
@@ -1,35 +1,34 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: mt940_parser 1.5.2 ruby lib
2
+ # stub: mt940_parser 1.5.3 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "mt940_parser".freeze
6
- s.version = "1.5.2"
6
+ s.version = "1.5.3"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
10
10
  s.authors = ["Thies C. Arntzen".freeze, "Phillip Oertel".freeze]
11
- s.date = "2018-01-02"
11
+ s.date = "2021-06-17"
12
12
  s.description = "Ruby library that parses account statements in the SWIFT MT940 format.".freeze
13
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]
14
+ s.extra_rdoc_files = ["README.md".freeze, "lib/mt940.rb".freeze, "lib/mt940/customer_statement_message.rb".freeze, "lib/mt940/errors.rb".freeze, "lib/mt940/version.rb".freeze]
15
+ 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/colon_in_descriptor.txt".freeze, "test/fixtures/colon_in_descriptor.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
16
  s.homepage = "http://github.com/betterplace/mt940_parser".freeze
16
17
  s.licenses = ["MIT".freeze]
17
- s.rubygems_version = "2.7.3".freeze
18
+ s.rdoc_options = ["--title".freeze, "Mt940Parser - MT940 parses account statements in the SWIFT MT940 format.".freeze, "--main".freeze, "README.md".freeze]
19
+ s.rubygems_version = "3.2.3".freeze
18
20
  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]
21
+ s.test_files = ["test/test_account_identifier.rb".freeze, "test/test_customer_statement_message.rb".freeze, "test/test_helper.rb".freeze, "test/test_mt940.rb".freeze]
20
22
 
21
23
  if s.respond_to? :specification_version then
22
24
  s.specification_version = 4
25
+ end
23
26
 
24
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
25
- s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.3.1"])
26
- s.add_development_dependency(%q<test-unit>.freeze, [">= 0"])
27
- else
28
- s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.3.1"])
29
- s.add_dependency(%q<test-unit>.freeze, [">= 0"])
30
- end
27
+ if s.respond_to? :add_runtime_dependency then
28
+ s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.11.0"])
29
+ s.add_development_dependency(%q<test-unit>.freeze, [">= 0"])
31
30
  else
32
- s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.3.1"])
31
+ s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.11.0"])
33
32
  s.add_dependency(%q<test-unit>.freeze, [">= 0"])
34
33
  end
35
34
  end
@@ -0,0 +1,3 @@
1
+ :86:166?20Spende abcdefghijklmnopqrstuvwxyzabcde Verwendungszweck
2
+ : ?701234567 Betterplace?30ABCDEFGH?31DE12345678912345789012?32Ab
3
+ cdefg Hijklmnop
@@ -0,0 +1,13 @@
1
+ ---
2
+ - - !ruby/object:MT940::StatementLineInformation
3
+ modifier:
4
+ content: '166?20Spende abcdefghijklmnopqrstuvwxyzabcde Verwendungszweck: ?701234567
5
+ Betterplace?30ABCDEFGH?31DE12345678912345789012?32Abcdefg Hijklmnop'
6
+ code: 166
7
+ bank_code: ABCDEFGH
8
+ account_number: DE12345678912345789012
9
+ not_implemented_fields:
10
+ - - '70'
11
+ - 1234567 Betterplace
12
+ details: 'Spende abcdefghijklmnopqrstuvwxyzabcde Verwendungszweck: '
13
+ account_holder: Abcdefg Hijklmnop
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mt940_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.2
4
+ version: 1.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thies C. Arntzen
8
8
  - Phillip Oertel
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-01-02 00:00:00.000000000 Z
12
+ date: 2021-06-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: gem_hadar
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 1.3.1
20
+ version: 1.11.0
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: 1.3.1
27
+ version: 1.11.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: test-unit
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -43,7 +43,12 @@ description: Ruby library that parses account statements in the SWIFT MT940 form
43
43
  email: developers@betterplace.org
44
44
  executables: []
45
45
  extensions: []
46
- extra_rdoc_files: []
46
+ extra_rdoc_files:
47
+ - README.md
48
+ - lib/mt940.rb
49
+ - lib/mt940/customer_statement_message.rb
50
+ - lib/mt940/errors.rb
51
+ - lib/mt940/version.rb
47
52
  files:
48
53
  - ".document"
49
54
  - ".gitignore"
@@ -69,6 +74,8 @@ files:
69
74
  - mt940_parser.gemspec
70
75
  - test/fixtures/amount_formats.txt
71
76
  - test/fixtures/amount_formats.yml
77
+ - test/fixtures/colon_in_descriptor.txt
78
+ - test/fixtures/colon_in_descriptor.yml
72
79
  - test/fixtures/currency_in_25.txt
73
80
  - test/fixtures/currency_in_25.yml
74
81
  - test/fixtures/empty_86.txt
@@ -93,8 +100,12 @@ homepage: http://github.com/betterplace/mt940_parser
93
100
  licenses:
94
101
  - MIT
95
102
  metadata: {}
96
- post_install_message:
97
- rdoc_options: []
103
+ post_install_message:
104
+ rdoc_options:
105
+ - "--title"
106
+ - Mt940Parser - MT940 parses account statements in the SWIFT MT940 format.
107
+ - "--main"
108
+ - README.md
98
109
  require_paths:
99
110
  - lib
100
111
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -108,13 +119,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
119
  - !ruby/object:Gem::Version
109
120
  version: '0'
110
121
  requirements: []
111
- rubyforge_project:
112
- rubygems_version: 2.7.3
113
- signing_key:
122
+ rubygems_version: 3.2.3
123
+ signing_key:
114
124
  specification_version: 4
115
125
  summary: MT940 parses account statements in the SWIFT MT940 format.
116
126
  test_files:
117
- - test/test_helper.rb
118
127
  - test/test_account_identifier.rb
119
- - test/test_mt940.rb
120
128
  - test/test_customer_statement_message.rb
129
+ - test/test_helper.rb
130
+ - test/test_mt940.rb