iso8583 0.2.3 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/AUTHORS +2 -0
- data/CHANGELOG +5 -0
- data/Rakefile +1 -2
- data/lib/iso8583/berlin.rb +1 -1
- data/lib/iso8583/codec.rb +1 -1
- data/lib/iso8583/fields.rb +22 -0
- data/lib/iso8583/message.rb +7 -3
- data/lib/iso8583/version.rb +1 -1
- data/test/BitmapTests.rb +3 -3
- data/test/message_test.rb +10 -3
- data/test/test_codec.rb +8 -8
- data/test/test_fields.rb +9 -7
- metadata +15 -16
- data/Gemfile.lock +0 -38
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 4c551d563390f55d323d8aea190eb31b20dcc98f786a9f872faa5df24fd229d1
|
4
|
+
data.tar.gz: c448bfe8446285da07c61ac8b5cfbb908477cf98a9e1bf703cfdae47d17cb2c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1fe629ddc4d985d96b63d20e6bacfb7e9c7d7cbe429232a9dcb8f5e972f9be5e0263bb675e11d78e272de4a3c58d0ced9a7a8b2646e2f94d64d0aea8b632f66c
|
7
|
+
data.tar.gz: 05bb98f645a560bf44bc2b64884a301b0869f7df1b7694291c82d991abe21538df5b8a08d57ab716e8e30482770e9db8dc6f49146de2ba36aa9640e355265329
|
data/AUTHORS
CHANGED
data/CHANGELOG
CHANGED
data/Rakefile
CHANGED
@@ -84,7 +84,6 @@ spec = Gem::Specification.new do |s|
|
|
84
84
|
s.requirements << "none"
|
85
85
|
s.require_path = "lib"
|
86
86
|
s.description = LONG_DESC
|
87
|
-
s.has_rdoc = true
|
88
87
|
s.authors = ["Tim Becker", "Slava Kravchenko"]
|
89
88
|
s.email = ["tim.becker@kuriositaet.de","cordawyn@gmail.com"]
|
90
89
|
s.homepage = "http://github.com/a2800276/8583/"
|
@@ -125,7 +124,7 @@ end
|
|
125
124
|
Rake::TestTask.new do |t|
|
126
125
|
t.libs << "test"
|
127
126
|
t.libs << "."
|
128
|
-
t.ruby_opts = ["-
|
127
|
+
t.ruby_opts = ["-rrubygems"]
|
129
128
|
t.test_files = FileList["test/*.rb"]
|
130
129
|
t.verbose = true
|
131
130
|
end
|
data/lib/iso8583/berlin.rb
CHANGED
data/lib/iso8583/codec.rb
CHANGED
data/lib/iso8583/fields.rb
CHANGED
@@ -57,63 +57,75 @@ module ISO8583
|
|
57
57
|
}
|
58
58
|
|
59
59
|
LL_BCD = BCDField.new
|
60
|
+
LL_BCD.name = "LL_BCD"
|
60
61
|
LL_BCD.length = 2
|
61
62
|
LL_BCD.codec = Packed_Number
|
62
63
|
|
63
64
|
# Two byte variable length ASCII numeral, payload ASCII numerals
|
64
65
|
LLVAR_N = Field.new
|
66
|
+
LLVAR_N.name = "LLVAR_N"
|
65
67
|
LLVAR_N.length = LL
|
66
68
|
LLVAR_N.codec = ASCII_Number
|
67
69
|
|
68
70
|
# Three byte variable length ASCII numeral, payload ASCII numerals
|
69
71
|
LLLVAR_N = Field.new
|
72
|
+
LLLVAR_N.name = "LLLVAR_N"
|
70
73
|
LLLVAR_N.length = LLL
|
71
74
|
LLLVAR_N.codec = ASCII_Number
|
72
75
|
|
73
76
|
# Two byte variable length ASCII numeral, payload Track2 data
|
74
77
|
LLVAR_Z = Field.new
|
78
|
+
LLVAR_Z.name = "LLVAR_Z"
|
75
79
|
LLVAR_Z.length = LL
|
76
80
|
LLVAR_Z.codec = Track2
|
77
81
|
|
78
82
|
# Two byte variable length ASCII numeral, payload ASCII, fixed length, zeropadded (right)
|
79
83
|
LLVAR_AN = Field.new
|
84
|
+
LLVAR_AN.name = "LLVAR_AN"
|
80
85
|
LLVAR_AN.length = LL
|
81
86
|
LLVAR_AN.codec = AN_Codec
|
82
87
|
|
83
88
|
# Two byte variable length ASCII numeral, payload ASCII+special
|
84
89
|
LLVAR_ANS = Field.new
|
90
|
+
LLVAR_ANS.name = "LLVAR_ANS"
|
85
91
|
LLVAR_ANS.length = LL
|
86
92
|
LLVAR_ANS.codec = ANS_Codec
|
87
93
|
|
88
94
|
# Three byte variable length ASCII numeral, payload ASCII, fixed length, zeropadded (right)
|
89
95
|
LLLVAR_AN = Field.new
|
96
|
+
LLLVAR_AN.name = "LLLVAR_AN"
|
90
97
|
LLLVAR_AN.length = LLL
|
91
98
|
LLLVAR_AN.codec = AN_Codec
|
92
99
|
|
93
100
|
# Three byte variable length ASCII numeral, payload ASCII+special
|
94
101
|
LLLVAR_ANS = Field.new
|
102
|
+
LLLVAR_ANS.name = "LLLVAR_ANS"
|
95
103
|
LLLVAR_ANS.length = LLL
|
96
104
|
LLLVAR_ANS.codec = ANS_Codec
|
97
105
|
|
98
106
|
# Two byte variable length binary payload
|
99
107
|
LLVAR_B = Field.new
|
108
|
+
LLVAR_B.name = "LLVAR_B"
|
100
109
|
LLVAR_B.length = LL
|
101
110
|
LLVAR_B.codec = Null_Codec
|
102
111
|
|
103
112
|
|
104
113
|
# Three byte variable length binary payload
|
105
114
|
LLLVAR_B = Field.new
|
115
|
+
LLLVAR_B.name = "LLLVAR_B"
|
106
116
|
LLLVAR_B.length = LLL
|
107
117
|
LLLVAR_B.codec = Null_Codec
|
108
118
|
|
109
119
|
# Fixed lengh numerals, repesented in ASCII, padding right justified using zeros
|
110
120
|
N = Field.new
|
121
|
+
N.name = "N"
|
111
122
|
N.codec = ASCII_Number
|
112
123
|
N.padding = lambda {|val, len|
|
113
124
|
sprintf("%0#{len}d", val)
|
114
125
|
}
|
115
126
|
|
116
127
|
N_BCD = BCDField.new
|
128
|
+
N_BCD.name = "N_BCD"
|
117
129
|
N_BCD.codec = Packed_Number
|
118
130
|
|
119
131
|
PADDING_LEFT_JUSTIFIED_SPACES = lambda {|val, len|
|
@@ -122,25 +134,30 @@ module ISO8583
|
|
122
134
|
|
123
135
|
# Fixed length ASCII letters [A-Za-z]
|
124
136
|
A = Field.new
|
137
|
+
A.name = "A"
|
125
138
|
A.codec = A_Codec
|
126
139
|
|
127
140
|
# Fixed lengh ASCII [A-Za-z0-9], padding left justified using spaces.
|
128
141
|
AN = Field.new
|
142
|
+
AN.name = "AN"
|
129
143
|
AN.codec = AN_Codec
|
130
144
|
AN.padding = PADDING_LEFT_JUSTIFIED_SPACES
|
131
145
|
|
132
146
|
# Fixed lengh ASCII [A-Za-z0-9] and space, padding left, spaces
|
133
147
|
ANP = Field.new
|
148
|
+
ANP.name = "ANP"
|
134
149
|
ANP.codec = ANP_Codec
|
135
150
|
ANP.padding = PADDING_LEFT_JUSTIFIED_SPACES
|
136
151
|
|
137
152
|
# Fixed length ASCII [\x20-\x7E], padding left, spaces
|
138
153
|
ANS = Field.new
|
154
|
+
ANS.name = ANS
|
139
155
|
ANS.codec = ANS_Codec
|
140
156
|
ANS.padding = PADDING_LEFT_JUSTIFIED_SPACES
|
141
157
|
|
142
158
|
# Binary data, padding left using nulls (0x00)
|
143
159
|
B = Field.new
|
160
|
+
B.name = "B"
|
144
161
|
B.codec = Null_Codec
|
145
162
|
B.padding = lambda {|val, len|
|
146
163
|
while val.length < len
|
@@ -151,24 +168,29 @@ module ISO8583
|
|
151
168
|
|
152
169
|
# Date, formatted as described in ASCII numerals
|
153
170
|
MMDDhhmmss = Field.new
|
171
|
+
MMDDhhmmss.name = "MMDDhhmmss"
|
154
172
|
MMDDhhmmss.codec = MMDDhhmmssCodec
|
155
173
|
MMDDhhmmss.length = 10
|
156
174
|
|
157
175
|
#Date, formatted as described in ASCII numerals
|
158
176
|
YYMMDDhhmmss = Field.new
|
177
|
+
YYMMDDhhmmss.name = "YYMMDDhhmmss"
|
159
178
|
YYMMDDhhmmss.codec = YYMMDDhhmmssCodec
|
160
179
|
YYMMDDhhmmss.length = 12
|
161
180
|
|
162
181
|
#Date, formatted as described in ASCII numerals
|
163
182
|
YYMM = Field.new
|
183
|
+
YYMM.name = "YYMM"
|
164
184
|
YYMM.codec = YYMMCodec
|
165
185
|
YYMM.length = 4
|
166
186
|
|
167
187
|
MMDD = Field.new
|
188
|
+
MMDD.name = "MMDD"
|
168
189
|
MMDD.codec = MMDDCodec
|
169
190
|
MMDD.length = 4
|
170
191
|
|
171
192
|
Hhmmss = Field.new
|
193
|
+
Hhmmss.name = "Hhmmss"
|
172
194
|
Hhmmss.codec = HhmmssCodec
|
173
195
|
Hhmmss.length = 6
|
174
196
|
|
data/lib/iso8583/message.rb
CHANGED
@@ -135,7 +135,7 @@ module ISO8583
|
|
135
135
|
# mes = MyMessage.new
|
136
136
|
# mes.mti = 1100 # or mes.mti = "Authorization Request Acquirer Gateway"
|
137
137
|
def mti=(value)
|
138
|
-
num,
|
138
|
+
num, _ = _get_mti_definition(value)
|
139
139
|
@mti = num
|
140
140
|
end
|
141
141
|
|
@@ -343,15 +343,19 @@ module ISO8583
|
|
343
343
|
# @values[bmp] = bmp_def
|
344
344
|
}
|
345
345
|
end
|
346
|
-
|
346
|
+
|
347
347
|
# Parse the bytes `str` returning a message of the defined type.
|
348
|
+
#
|
349
|
+
# returns an instance of Message
|
350
|
+
#
|
351
|
+
# will raise an ISO8583Exception if the bitmap definition can't be found
|
348
352
|
def parse(str)
|
349
353
|
str = str.force_encoding('ASCII-8BIT')
|
350
354
|
message = self.new
|
351
355
|
message.mti, rest = _mti_format.parse(str)
|
352
356
|
bmp,rest = Bitmap.parse(rest)
|
353
357
|
bmp.each {|bit|
|
354
|
-
bmp_def =
|
358
|
+
bmp_def = message._get_definition(bit)
|
355
359
|
value, rest = bmp_def.field.parse(rest)
|
356
360
|
message[bit] = value
|
357
361
|
}
|
data/lib/iso8583/version.rb
CHANGED
data/test/BitmapTests.rb
CHANGED
@@ -22,14 +22,14 @@ class BitmapTests < Test::Unit::TestCase
|
|
22
22
|
|
23
23
|
assert_raises(ISO8583Exception) {b.set 1000 }
|
24
24
|
assert_raises(ISO8583Exception) { b.set 1 }
|
25
|
-
assert_raises(ISO8583Exception) { b.set
|
25
|
+
assert_raises(ISO8583Exception) { b.set(-1) }
|
26
26
|
end
|
27
27
|
|
28
28
|
def test_out_of_bounds_errors
|
29
29
|
b = Bitmap.new
|
30
30
|
assert_raises(ISO8583Exception) {b.set 1000 }
|
31
31
|
assert_raises(ISO8583Exception) { b.set 1 }
|
32
|
-
assert_raises(ISO8583Exception) { b.set
|
32
|
+
assert_raises(ISO8583Exception) { b.set(-1) }
|
33
33
|
end
|
34
34
|
|
35
35
|
def test_parse_bmp
|
@@ -82,7 +82,7 @@ class BitmapTests < Test::Unit::TestCase
|
|
82
82
|
tst = "\x80\x00\x10\x20\x40\x81\x02\x04\x08\x10\x20\x40\x81\x02\x04\x08"
|
83
83
|
bmp = Bitmap.new tst
|
84
84
|
arr = []
|
85
|
-
|
85
|
+
bmp.each{|bit|
|
86
86
|
arr.push bit
|
87
87
|
}
|
88
88
|
assert_equal 20, arr.first
|
data/test/message_test.rb
CHANGED
@@ -38,18 +38,25 @@ class MessageTest < Test::Unit::TestCase
|
|
38
38
|
pan = 474747474747
|
39
39
|
|
40
40
|
assert_raises(ISO8583Exception) {
|
41
|
-
|
41
|
+
BerlinMessage.parse "@\000\000\000\000\000\000\00012474747474747"
|
42
42
|
}
|
43
43
|
mes = BerlinMessage.parse "1430@\000\000\000\000\000\000\00012474747474747"
|
44
44
|
assert_equal pan, mes.pan
|
45
45
|
assert_equal 1430, mes.mti
|
46
46
|
end
|
47
47
|
|
48
|
+
def test_unknown_field
|
49
|
+
assert_raises(ISO8583Exception.new("no definition for field: 8")) {
|
50
|
+
mes = BerlinMessage.parse "1430A\000\000\000\000\000\000\00012474747474747"
|
51
|
+
}
|
52
|
+
end
|
53
|
+
|
48
54
|
def test_rescue_standard_error
|
49
55
|
rescued = false
|
50
56
|
begin
|
51
57
|
BerlinMessage.parse("bogus")
|
52
58
|
rescue => error
|
59
|
+
assert_instance_of ISO8583Exception, error
|
53
60
|
rescued = true
|
54
61
|
end
|
55
62
|
|
@@ -168,8 +175,8 @@ END
|
|
168
175
|
mes[64] = "\xF0\xF0\xF0\xF0"
|
169
176
|
|
170
177
|
bytes = mes.to_b
|
171
|
-
mes2 = BerlinMessage.parse(
|
172
|
-
assert_equal(
|
178
|
+
mes2 = BerlinMessage.parse(bytes)
|
179
|
+
assert_equal(bytes, mes2.to_b)
|
173
180
|
end
|
174
181
|
|
175
182
|
def test_remove_field
|
data/test/test_codec.rb
CHANGED
@@ -101,7 +101,7 @@ class FieldTest < Test::Unit::TestCase
|
|
101
101
|
end
|
102
102
|
def test_A_Codec
|
103
103
|
assert_raise(ISO8583Exception) {
|
104
|
-
|
104
|
+
A_Codec.encode "!!!"
|
105
105
|
}
|
106
106
|
assert_equal "bla", AN_Codec.encode("bla")
|
107
107
|
assert_equal "bla", AN_Codec.decode("bla")
|
@@ -109,7 +109,7 @@ class FieldTest < Test::Unit::TestCase
|
|
109
109
|
|
110
110
|
def test_AN_Codec
|
111
111
|
assert_raise(ISO8583Exception) {
|
112
|
-
|
112
|
+
AN_Codec.encode "!!!"
|
113
113
|
}
|
114
114
|
assert_equal "bla", AN_Codec.encode("bla")
|
115
115
|
assert_equal "bla", AN_Codec.decode("bla")
|
@@ -117,10 +117,10 @@ class FieldTest < Test::Unit::TestCase
|
|
117
117
|
|
118
118
|
def test_Track2_Codec
|
119
119
|
assert_raise(ISO8583Exception) {
|
120
|
-
|
120
|
+
Track2.encode "!!!"
|
121
121
|
}
|
122
122
|
assert_raise(ISO8583Exception) {
|
123
|
-
|
123
|
+
Track2.encode ";12312312=123?5"
|
124
124
|
}
|
125
125
|
assert_equal ";123123123=123?5", Track2.encode(";123123123=123?5")
|
126
126
|
assert_equal ";123123123=123?5", Track2.decode(";123123123=123?5")
|
@@ -133,10 +133,10 @@ class FieldTest < Test::Unit::TestCase
|
|
133
133
|
assert_equal "\x02", Packed_Number.encode(2)
|
134
134
|
assert_equal "\x02\x55", Packed_Number.encode(0xff)
|
135
135
|
assert_raise(ISO8583Exception) {
|
136
|
-
|
136
|
+
Packed_Number.encode ";12312312=123?5"
|
137
137
|
}
|
138
138
|
assert_raise(ISO8583Exception) {
|
139
|
-
|
139
|
+
Packed_Number.encode "F"
|
140
140
|
}
|
141
141
|
end
|
142
142
|
|
@@ -145,7 +145,7 @@ class FieldTest < Test::Unit::TestCase
|
|
145
145
|
BE_U16.encode 2**16
|
146
146
|
}
|
147
147
|
assert_raise(ISO8583Exception) {
|
148
|
-
BE_U16.encode
|
148
|
+
BE_U16.encode(-1)
|
149
149
|
}
|
150
150
|
assert_equal "\0\0", BE_U16.encode(0)
|
151
151
|
expected = "\xff\xff".force_encoding('ASCII-8BIT')
|
@@ -164,7 +164,7 @@ class FieldTest < Test::Unit::TestCase
|
|
164
164
|
BE_U32.encode 2**32
|
165
165
|
}
|
166
166
|
assert_raise(ISO8583Exception) {
|
167
|
-
BE_U32.encode
|
167
|
+
BE_U32.encode(-1)
|
168
168
|
}
|
169
169
|
assert_equal "\0\0\0\0", BE_U32.encode(0)
|
170
170
|
expected = "\xff\xff\xff\xff".force_encoding('ASCII-8BIT')
|
data/test/test_fields.rb
CHANGED
@@ -10,7 +10,7 @@ class FieldTest < Test::Unit::TestCase
|
|
10
10
|
assert_equal "456", rest
|
11
11
|
|
12
12
|
assert_raise(ISO8583ParseException) {
|
13
|
-
|
13
|
+
_,rest = LLL.parse "12"
|
14
14
|
}
|
15
15
|
|
16
16
|
enc = LLL.encode 123
|
@@ -50,10 +50,10 @@ class FieldTest < Test::Unit::TestCase
|
|
50
50
|
assert_equal "123ABC", value
|
51
51
|
assert_equal "", rest
|
52
52
|
assert_raise(ISO8583ParseException) {
|
53
|
-
|
53
|
+
_,rest = LLLVAR_AN.parse "12"
|
54
54
|
}
|
55
55
|
assert_raise(ISO8583ParseException) {
|
56
|
-
|
56
|
+
_,rest = LLVAR_AN.parse "12123"
|
57
57
|
}
|
58
58
|
|
59
59
|
enc = LLVAR_AN.encode "123A"
|
@@ -83,10 +83,10 @@ class FieldTest < Test::Unit::TestCase
|
|
83
83
|
assert_equal 1234, value
|
84
84
|
assert_equal "", rest
|
85
85
|
assert_raise(ISO8583ParseException) {
|
86
|
-
|
86
|
+
_,rest = LLLVAR_N.parse "12"
|
87
87
|
}
|
88
88
|
assert_raise(ISO8583ParseException) {
|
89
|
-
|
89
|
+
_,rest = LLVAR_N.parse "12123"
|
90
90
|
}
|
91
91
|
|
92
92
|
enc = LLVAR_N.encode 1234
|
@@ -116,10 +116,10 @@ class FieldTest < Test::Unit::TestCase
|
|
116
116
|
assert_equal ";123123123=123?5", value
|
117
117
|
assert_equal "", rest
|
118
118
|
assert_raise(ISO8583ParseException) {
|
119
|
-
|
119
|
+
_,rest = LLVAR_Z.parse "12"
|
120
120
|
}
|
121
121
|
assert_raise(ISO8583ParseException) {
|
122
|
-
|
122
|
+
_,rest = LLVAR_Z.parse "17;123123123=123?5"
|
123
123
|
}
|
124
124
|
|
125
125
|
enc = LLVAR_Z.encode ";123123123=123?5"
|
@@ -213,6 +213,7 @@ class FieldTest < Test::Unit::TestCase
|
|
213
213
|
fld.length=3
|
214
214
|
value, rest = fld.parse "\x01\x23\x45"
|
215
215
|
assert_equal 123, value
|
216
|
+
assert_equal "\x45", rest
|
216
217
|
|
217
218
|
assert_equal "\x01\x23", fld.encode(123)
|
218
219
|
assert_equal "\x01\x23", fld.encode("123")
|
@@ -241,6 +242,7 @@ class FieldTest < Test::Unit::TestCase
|
|
241
242
|
assert_equal 12, dt.hour
|
242
243
|
assert_equal 34, dt.min
|
243
244
|
assert_equal 56, dt.sec
|
245
|
+
assert_equal "", rest
|
244
246
|
|
245
247
|
assert_raise(ISO8583Exception) {
|
246
248
|
fld.encode 1234567
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iso8583
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Becker
|
@@ -9,10 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-07-04 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
|
-
description:
|
15
|
-
|
14
|
+
description: 'Ruby implementation of ISO 8583 financial messaging
|
15
|
+
|
16
|
+
'
|
16
17
|
email:
|
17
18
|
- tim.becker@kuriositaet.de
|
18
19
|
- cordawyn@gmail.com
|
@@ -20,6 +21,13 @@ executables: []
|
|
20
21
|
extensions: []
|
21
22
|
extra_rdoc_files: []
|
22
23
|
files:
|
24
|
+
- AUTHORS
|
25
|
+
- CHANGELOG
|
26
|
+
- Gemfile
|
27
|
+
- LICENSE
|
28
|
+
- README.md
|
29
|
+
- Rakefile
|
30
|
+
- TODO
|
23
31
|
- lib/8583.rb
|
24
32
|
- lib/iso8583.rb
|
25
33
|
- lib/iso8583/berlin.rb
|
@@ -31,14 +39,6 @@ files:
|
|
31
39
|
- lib/iso8583/message.rb
|
32
40
|
- lib/iso8583/util.rb
|
33
41
|
- lib/iso8583/version.rb
|
34
|
-
- AUTHORS
|
35
|
-
- CHANGELOG
|
36
|
-
- Gemfile
|
37
|
-
- Gemfile.lock
|
38
|
-
- LICENSE
|
39
|
-
- README.md
|
40
|
-
- Rakefile
|
41
|
-
- TODO
|
42
42
|
- test/BitmapTests.rb
|
43
43
|
- test/message_test.rb
|
44
44
|
- test/test_codec.rb
|
@@ -55,18 +55,17 @@ require_paths:
|
|
55
55
|
- lib
|
56
56
|
required_ruby_version: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
|
-
- -
|
58
|
+
- - ">="
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '0'
|
61
61
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
62
62
|
requirements:
|
63
|
-
- -
|
63
|
+
- - ">="
|
64
64
|
- !ruby/object:Gem::Version
|
65
65
|
version: '0'
|
66
66
|
requirements:
|
67
67
|
- none
|
68
|
-
|
69
|
-
rubygems_version: 2.0.14.1
|
68
|
+
rubygems_version: 3.1.2
|
70
69
|
signing_key:
|
71
70
|
specification_version: 4
|
72
71
|
summary: 'iso8583: Ruby implementation of ISO 8583 financial messaging'
|
data/Gemfile.lock
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
iso8583 (0.3.0)
|
5
|
-
test-unit (~> 3.0.0)
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: https://rubygems.org/
|
9
|
-
specs:
|
10
|
-
diff-lcs (1.2.5)
|
11
|
-
power_assert (0.2.4)
|
12
|
-
rake (10.4.2)
|
13
|
-
rspec (3.3.0)
|
14
|
-
rspec-core (~> 3.3.0)
|
15
|
-
rspec-expectations (~> 3.3.0)
|
16
|
-
rspec-mocks (~> 3.3.0)
|
17
|
-
rspec-core (3.3.2)
|
18
|
-
rspec-support (~> 3.3.0)
|
19
|
-
rspec-expectations (3.3.1)
|
20
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
21
|
-
rspec-support (~> 3.3.0)
|
22
|
-
rspec-mocks (3.3.2)
|
23
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
24
|
-
rspec-support (~> 3.3.0)
|
25
|
-
rspec-support (3.3.0)
|
26
|
-
test-unit (3.0.9)
|
27
|
-
power_assert
|
28
|
-
|
29
|
-
PLATFORMS
|
30
|
-
ruby
|
31
|
-
|
32
|
-
DEPENDENCIES
|
33
|
-
iso8583!
|
34
|
-
rake
|
35
|
-
rspec (~> 3.3.0)
|
36
|
-
|
37
|
-
BUNDLED WITH
|
38
|
-
1.10.6
|