mt940_parser 1.2.0 → 1.3.0

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.
@@ -1,4 +1,5 @@
1
1
  ---
2
2
  - - !ruby/object:MT940::Job
3
- modifier: !!null
3
+ modifier:
4
+ content: STAR1ÜTßUMS
4
5
  reference: STAR1ÜTßUMS
data/test/helper.rb CHANGED
@@ -1,7 +1,12 @@
1
1
  require 'rubygems'
2
+ require 'yaml'
2
3
  require 'test/unit'
4
+ begin
5
+ require 'byebug'
6
+ rescue LoadError
7
+ end
3
8
 
4
9
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
5
10
  $LOAD_PATH.unshift(File.dirname(__FILE__))
6
11
  require 'mt940'
7
- require 'mt940/customer_statement_message'
12
+ require 'mt940/customer_statement_message'
@@ -1,73 +1,71 @@
1
1
  require_relative 'helper'
2
- require 'yaml'
3
- YAML::ENGINE.yamler = 'psych'
4
2
 
5
3
 
6
4
  # $DEBUG = true
7
5
  class TestCustomerStatementMessage < Test::Unit::TestCase
8
-
6
+
9
7
  def setup
10
8
  file = File.dirname(__FILE__) + "/fixtures/sepa_snippet.txt"
11
9
  messages = MT940::CustomerStatementMessage.parse_file(file)
12
10
  @message = messages.first
13
11
  @message_2 = messages.last
14
12
  end
15
-
13
+
16
14
  def test_it_should_know_the_bank_code
17
15
  assert_equal "50880050", @message.bank_code
18
16
  end
19
-
17
+
20
18
  def test_it_should_know_the_account_number
21
19
  assert_equal "0194787400888", @message.account_number
22
20
  end
23
-
21
+
24
22
  def test_it_should_have_statement_lines
25
23
  assert @message.statement_lines.respond_to?(:each)
26
24
  assert_equal 4, @message.statement_lines.size
27
25
  end
28
-
26
+
29
27
  def test_statement_lines_should_have_amount_info_credit
30
28
  line = @message.statement_lines.first
31
29
  assert_equal 5099005, line.amount
32
30
  assert_equal :credit, line.funds_code
33
31
  end
34
-
32
+
35
33
  def test_statement_lines_should_have_amount_info_debit
36
34
  line = @message_2.statement_lines.first
37
35
  assert_equal 8, line.amount
38
36
  assert_equal :debit, line.funds_code
39
37
  end
40
-
38
+
41
39
  def test_statement_lines_should_have_account_holder
42
40
  line = @message.statement_lines.first
43
41
  assert_equal "KARL\n KAUFMANN", line.account_holder
44
42
  end
45
-
43
+
46
44
  def test_statement_lines_info_should_have_bank_code
47
45
  line = @message.statement_lines.first
48
46
  assert_equal "DRESDEFF508", line.bank_code
49
47
  end
50
-
48
+
51
49
  def test_statement_lines_info_should_have_account_number
52
50
  line = @message.statement_lines.first
53
51
  assert_equal "DE14508800500194785000", line.account_number
54
52
  end
55
-
53
+
56
54
  def test_statement_lines_should_have_details
57
55
  line = @message.statement_lines.first
58
56
  assert_equal "EREF+EndToEndId TFNR 22 004\n 00001\nSVWZ+Verw CTSc-01 BC-PPP TF\nNr 22 004", line.details
59
57
  end
60
-
58
+
61
59
  def test_statement_lines_should_have_an_entry_date
62
60
  line = @message.statement_lines.first
63
61
  assert_equal Date.parse("2007-09-04"), line.entry_date
64
62
  end
65
-
63
+
66
64
  def test_statement_lines_should_have_a_value_date
67
65
  line = @message.statement_lines.first
68
66
  assert_equal Date.parse("2007-09-07"), line.value_date
69
67
  end
70
-
68
+
71
69
  def test_parsing_the_file_should_return_two_message_objects
72
70
  file = File.dirname(__FILE__) + "/fixtures/sepa_snippet.txt"
73
71
  messages = MT940::CustomerStatementMessage.parse_file(file)
@@ -75,12 +73,12 @@ class TestCustomerStatementMessage < Test::Unit::TestCase
75
73
  assert_equal "0194787400888", messages[0].account_number
76
74
  assert_equal "0194791600888", messages[1].account_number
77
75
  end
78
-
76
+
79
77
  def test_parsing_a_file_with_broken_structure_should_raise_an_exception
80
78
  file = File.dirname(__FILE__) + "/fixtures/sepa_snippet_broken.txt"
81
79
  assert_raise(StandardError) { MT940::CustomerStatementMessage.parse_file(file) }
82
80
  end
83
-
81
+
84
82
  def test_should_raise_method_missing_when_asking_statement_lines_for_unknown_stuff
85
83
  file = File.dirname(__FILE__) + "/fixtures/sepa_snippet.txt"
86
84
  message = MT940::CustomerStatementMessage.parse_file(file).first
data/test/test_mt940.rb CHANGED
@@ -1,7 +1,4 @@
1
1
  require_relative 'helper'
2
- require 'yaml'
3
- YAML::ENGINE.yamler = 'psych'
4
-
5
2
 
6
3
  # $DEBUG = true
7
4
  class TestMt940 < Test::Unit::TestCase
@@ -9,6 +6,7 @@ class TestMt940 < Test::Unit::TestCase
9
6
  def test_it_should_parse_fixture_files_correctly
10
7
  Dir[File.dirname(__FILE__) + "/fixtures/*.txt"].reject { |f| f =~ /sepa_snippet/ }.each do |file|
11
8
  data = MT940.parse(IO.read(file))
9
+
12
10
  generated_structure_file = file.gsub(/.txt$/, ".yml")
13
11
 
14
12
  assert_equal YAML::load_file(generated_structure_file).to_yaml, data.to_yaml
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.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thies C. Arntzen
@@ -9,48 +9,62 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-01-07 00:00:00.000000000 Z
12
+ date: 2015-04-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: rspec
15
+ name: bundler
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ~>
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: 2.3.0
20
+ version: '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: 2.3.0
27
+ version: '0'
28
28
  - !ruby/object:Gem::Dependency
29
- name: bundler
29
+ name: jeweler
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '>='
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - '>='
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
- name: jeweler
43
+ name: test-unit
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
+ - !ruby/object:Gem::Dependency
57
+ name: byebug
44
58
  requirement: !ruby/object:Gem::Requirement
45
59
  requirements:
46
- - - '>='
60
+ - - ">="
47
61
  - !ruby/object:Gem::Version
48
62
  version: '0'
49
63
  type: :development
50
64
  prerelease: false
51
65
  version_requirements: !ruby/object:Gem::Requirement
52
66
  requirements:
53
- - - '>='
67
+ - - ">="
54
68
  - !ruby/object:Gem::Version
55
69
  version: '0'
56
70
  description:
@@ -61,12 +75,10 @@ extra_rdoc_files:
61
75
  - LICENSE
62
76
  - README.rdoc
63
77
  files:
64
- - .document
65
- - .ruby-version
66
- - .specification
67
- - .travis.yml
78
+ - ".document"
79
+ - ".specification"
80
+ - ".travis.yml"
68
81
  - Gemfile
69
- - Gemfile.lock
70
82
  - LICENSE
71
83
  - README.rdoc
72
84
  - Rakefile
@@ -111,17 +123,17 @@ require_paths:
111
123
  - lib
112
124
  required_ruby_version: !ruby/object:Gem::Requirement
113
125
  requirements:
114
- - - '>='
126
+ - - ">="
115
127
  - !ruby/object:Gem::Version
116
128
  version: '0'
117
129
  required_rubygems_version: !ruby/object:Gem::Requirement
118
130
  requirements:
119
- - - '>='
131
+ - - ">="
120
132
  - !ruby/object:Gem::Version
121
133
  version: '0'
122
134
  requirements: []
123
135
  rubyforge_project:
124
- rubygems_version: 2.0.14
136
+ rubygems_version: 2.4.6
125
137
  signing_key:
126
138
  specification_version: 4
127
139
  summary: MT940 parses account statements in the SWIFT MT940 format.
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.0.0-p594
data/Gemfile.lock DELETED
@@ -1,64 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- addressable (2.3.5)
5
- builder (3.2.2)
6
- descendants_tracker (0.0.3)
7
- diff-lcs (1.1.3)
8
- faraday (0.9.0)
9
- multipart-post (>= 1.2, < 3)
10
- git (1.2.6)
11
- github_api (0.11.2)
12
- addressable (~> 2.3)
13
- descendants_tracker (~> 0.0.1)
14
- faraday (~> 0.8, < 0.10)
15
- hashie (>= 1.2)
16
- multi_json (>= 1.7.5, < 2.0)
17
- nokogiri (~> 1.6.0)
18
- oauth2
19
- hashie (2.0.5)
20
- highline (1.6.20)
21
- jeweler (2.0.1)
22
- builder
23
- bundler (>= 1.0)
24
- git (>= 1.2.5)
25
- github_api
26
- highline (>= 1.6.15)
27
- nokogiri (>= 1.5.10)
28
- rake
29
- rdoc
30
- json (1.8.1)
31
- jwt (0.1.11)
32
- multi_json (>= 1.5)
33
- mini_portile (0.5.2)
34
- multi_json (1.8.4)
35
- multi_xml (0.5.5)
36
- multipart-post (2.0.0)
37
- nokogiri (1.6.1)
38
- mini_portile (~> 0.5.0)
39
- oauth2 (0.9.3)
40
- faraday (>= 0.8, < 0.10)
41
- jwt (~> 0.1.8)
42
- multi_json (~> 1.3)
43
- multi_xml (~> 0.5)
44
- rack (~> 1.2)
45
- rack (1.5.2)
46
- rake (10.1.1)
47
- rdoc (4.1.1)
48
- json (~> 1.4)
49
- rspec (2.3.0)
50
- rspec-core (~> 2.3.0)
51
- rspec-expectations (~> 2.3.0)
52
- rspec-mocks (~> 2.3.0)
53
- rspec-core (2.3.1)
54
- rspec-expectations (2.3.0)
55
- diff-lcs (~> 1.1.2)
56
- rspec-mocks (2.3.0)
57
-
58
- PLATFORMS
59
- ruby
60
-
61
- DEPENDENCIES
62
- bundler
63
- jeweler
64
- rspec (~> 2.3.0)