mt940_parser 1.2.0 → 1.3.0

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