cremul-parser 0.0.3 → 0.0.4

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
  SHA1:
3
- metadata.gz: b691914d35e6f9391c1a478fe7692cb5342431f6
4
- data.tar.gz: 977b5544bb1cd9155969dc1f5cef13553e725748
3
+ metadata.gz: 7825dfa6f85b710b139911059377276d2ecde921
4
+ data.tar.gz: 6415ab1b5fe953431f2850f5255b79dfd8ed74ec
5
5
  SHA512:
6
- metadata.gz: d72b563b87abd9829a2d8044ae2593026b6796b00c26047fb23a408f234b1248c5b7748fffaacbc8593f0653a3639ffbb43085761c20af6a97305c5f5c6c1135
7
- data.tar.gz: ef76cb8a58a08d099b1681f442b383505b409f7f553192600349bad509d8efbf393a783f4b88ed53d9a9a83171f541d3b4ab06c8b96f7a54a53bdf47a4d3e278
6
+ metadata.gz: a5694b537a28413741e6f5882a62fc66b9add15782291be927f1945f763d2f0c022334fd22447f24a8486ad28626b67ec70f8058cfb4e274eb56c5a008c3df53
7
+ data.tar.gz: 8cba193e51669dfb1da891f86259b307fb461defa7ec5e99eb87d31001a0f287da9f73b239b4cbb31addbe42a4d67a7dd568598a8a28d5caffee0ea60eee2963
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.0.4
4
+
5
+ Added support for files using a CNT:LIN symbol instead of CNT:LI as the standard says.
6
+
3
7
  ## 0.0.3
4
8
 
5
9
  Added support for converting files to UTF-8 format on the fly.
@@ -140,7 +140,7 @@ module Cremul
140
140
  end
141
141
 
142
142
  def line_count_segment_index(segments)
143
- segments.index { |x| /CNT\+LI:\d/.match(x) }
143
+ segments.index { |x| /CNT\+LIN?:\d/.match(x) }
144
144
  end
145
145
 
146
146
  def number_of_lines_in_message(segments)
@@ -1,3 +1,3 @@
1
1
  module Cremul
2
- VERSION = '0.0.3'
2
+ VERSION = '0.0.4'
3
3
  end
data/lib/cremul_parser.rb CHANGED
@@ -20,6 +20,9 @@ class CremulParser
20
20
  file_as_a_string += line.chomp # remove \n and \r from the end of the line
21
21
  end
22
22
  @segments = file_as_a_string.split("'")
23
+ if @segments[@segments.size-1].strip.empty?
24
+ @segments = @segments.slice(0, @segments.size-1)
25
+ end
23
26
  @msg = CremulMessage.new(@segments)
24
27
  end
25
28
 
@@ -0,0 +1,7 @@
1
+ UNA:+,? 'UNB+UNOC:3+00810506482+00975945065+140314:1453+01001387'UNH+1+CREMUL:D:
2
+ 96A:UN'BGM+455+1403141453'DTM+137:20140314:102'LIN+1'DTM+209:20140314:102'BUS++D
3
+ O'MOA+60:2535,06:NOK'RFF+AII'FII+BF+1234567890'SEQ++1'DTM+193:20140314:102'FII+
4
+ OR+12121212121'RFF+ACK:E96151'MOA+119:2535,06'NAD+BE++THE BENEFICIARY COMPANY
5
+ :Postboks 22 Sentrum::0101 OSLO'NAD+PL++LINDORFF AS:POSTBOKS 7055::3007 DRAMME
6
+ N'PRC+8'DOC+380+OM1632599 / K46576'MOA+12:2535,06'DTM+171:20140314:102'NAD+IV+K4
7
+ 6576::91'GIS+37'CNT+LIN:1'UNT+24+1'UNZ+1+01001387'
@@ -161,6 +161,20 @@ describe CremulParser do
161
161
 
162
162
  end
163
163
 
164
+ it 'should parse a file with a CNT:LIN symbol instead of CNT:LI as the standard says' do
165
+ @parser.parse(File.open('files/CREMUL0001_1.dat'), 'ISO-8859-1')
166
+ @parser.segments.must_be_instance_of Array
167
+ @parser.msg.must_be_instance_of CremulMessage
168
+
169
+ msg = @parser.msg
170
+ line = msg.lines[0]
171
+ tx = line.transactions[0]
172
+ tx.must_be_instance_of CremulPaymentTx
173
+ ref = tx.references[0]
174
+ ref.must_be_instance_of CremulReference
175
+ ref.type.must_equal :ACK
176
+ ref.number.must_equal 'E96151'
177
+ end
164
178
 
165
179
  end
166
180
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cremul-parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Per Spilling
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-08 00:00:00.000000000 Z
11
+ date: 2014-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -66,6 +66,7 @@ files:
66
66
  - test/test_helper.rb
67
67
  - test/unit/files/CREMUL0001-utf-8.txt
68
68
  - test/unit/files/CREMUL0001.DAT
69
+ - test/unit/files/CREMUL0001_1.DAT
69
70
  - test/unit/files/CREMUL0002-utf-8.txt
70
71
  - test/unit/files/CREMUL0002.DAT
71
72
  - test/unit/files/CREMUL0003-utf-8.txt
@@ -102,6 +103,7 @@ test_files:
102
103
  - test/test_helper.rb
103
104
  - test/unit/files/CREMUL0001-utf-8.txt
104
105
  - test/unit/files/CREMUL0001.DAT
106
+ - test/unit/files/CREMUL0001_1.DAT
105
107
  - test/unit/files/CREMUL0002-utf-8.txt
106
108
  - test/unit/files/CREMUL0002.DAT
107
109
  - test/unit/files/CREMUL0003-utf-8.txt