erlang_rb 1.7.2 → 2.0.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.
- checksums.yaml +5 -5
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/README.markdown +1 -1
- data/lib/erlang.rb +88 -30
- data/tests/erlang_tests.rb +66 -4
- metadata +23 -24
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b36f62f8d5c49daf16b3120596ff2d523a58820385d0375b4c891becb66d1abf
|
4
|
+
data.tar.gz: a7f2a937601cf8eb8feddf3187609515cdb82f8a1cd2e8f07a283efdc59c3703
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab7a769ac8640a49878e7c700e162fd639649295fdc387312048e5fb9f9bcda44e4427033d6a82f685d61b1fe3504cfe8ac23932ac0f37d75c35c2a9cc676e8b
|
7
|
+
data.tar.gz: b7efca768abbd4b0a7409838cea35d1405dec08417edf83bbaf331e534d420c8916f52298fa5e1a527ef00c9d072fb7e4c85d6c5edcef42868855fdcc5035560
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/README.markdown
CHANGED
data/lib/erlang.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# MIT License
|
5
5
|
#
|
6
|
-
# Copyright (c) 2011-
|
6
|
+
# Copyright (c) 2011-2019 Michael Truog <mjtruog at protonmail dot com>
|
7
7
|
#
|
8
8
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
9
9
|
# copy of this software and associated documentation files (the "Software"),
|
@@ -192,8 +192,16 @@ module Erlang
|
|
192
192
|
attr_reader :serial
|
193
193
|
attr_reader :creation
|
194
194
|
def binary
|
195
|
-
|
196
|
-
|
195
|
+
creation_size = @creation.bytesize
|
196
|
+
if creation_size == 1
|
197
|
+
return "#{TAG_PID_EXT.chr}" \
|
198
|
+
"#{@node.binary}#{@id}#{@serial}#{@creation}"
|
199
|
+
elsif creation_size == 4
|
200
|
+
return "#{TAG_NEW_PID_EXT.chr}" \
|
201
|
+
"#{@node.binary}#{@id}#{@serial}#{@creation}"
|
202
|
+
else
|
203
|
+
raise OutputException, 'unknown pid type', caller
|
204
|
+
end
|
197
205
|
end
|
198
206
|
def to_s
|
199
207
|
return "#{self.class.name}" \
|
@@ -219,7 +227,16 @@ module Erlang
|
|
219
227
|
attr_reader :id
|
220
228
|
attr_reader :creation
|
221
229
|
def binary
|
222
|
-
|
230
|
+
creation_size = @creation.bytesize
|
231
|
+
if creation_size == 1
|
232
|
+
return "#{TAG_PORT_EXT.chr}" \
|
233
|
+
"#{@node.binary}#{@id}#{@creation}"
|
234
|
+
elsif creation_size == 4
|
235
|
+
return "#{TAG_NEW_PORT_EXT.chr}" \
|
236
|
+
"#{@node.binary}#{@id}#{@creation}"
|
237
|
+
else
|
238
|
+
raise OutputException, 'unknown port type', caller
|
239
|
+
end
|
223
240
|
end
|
224
241
|
def to_s
|
225
242
|
return "#{self.class.name}" \
|
@@ -250,8 +267,16 @@ module Erlang
|
|
250
267
|
"#{@node.binary}#{@id}#{@creation}"
|
251
268
|
elsif length <= 65535
|
252
269
|
length_packed = [length].pack('n')
|
253
|
-
|
254
|
-
|
270
|
+
creation_size = @creation.bytesize
|
271
|
+
if creation_size == 1
|
272
|
+
return "#{TAG_NEW_REFERENCE_EXT.chr}#{length_packed}" \
|
273
|
+
"#{@node.binary}#{@creation}#{@id}"
|
274
|
+
elsif creation_size == 4
|
275
|
+
return "#{TAG_NEWER_REFERENCE_EXT.chr}#{length_packed}" \
|
276
|
+
"#{@node.binary}#{@creation}#{@id}"
|
277
|
+
else
|
278
|
+
raise OutputException, 'unknown reference type', caller
|
279
|
+
end
|
255
280
|
else
|
256
281
|
raise OutputException, 'uint16 overflow', caller
|
257
282
|
end
|
@@ -354,27 +379,38 @@ module Erlang
|
|
354
379
|
else
|
355
380
|
raise ParseException, 'invalid atom_name latin1', caller
|
356
381
|
end
|
357
|
-
elsif tag ==
|
382
|
+
elsif tag == TAG_NEW_PORT_EXT or \
|
383
|
+
tag == TAG_REFERENCE_EXT or tag == TAG_PORT_EXT
|
358
384
|
result = binary_to_atom(i, data)
|
359
385
|
i = result[0]; node = result[1]
|
360
386
|
id = data[i,4]
|
361
387
|
i += 4
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
388
|
+
if tag == TAG_NEW_PORT_EXT
|
389
|
+
creation = data[i,4]
|
390
|
+
i += 4
|
391
|
+
else
|
392
|
+
creation = data[i]
|
393
|
+
i += 1
|
394
|
+
if tag == TAG_REFERENCE_EXT
|
395
|
+
return [i, OtpErlangReference.new(node, id, creation)]
|
396
|
+
end
|
368
397
|
end
|
369
|
-
|
398
|
+
# tag == TAG_NEW_PORT_EXT or tag == TAG_PORT_EXT
|
399
|
+
return [i, OtpErlangPort.new(node, id, creation)]
|
400
|
+
elsif tag == TAG_NEW_PID_EXT or tag == TAG_PID_EXT
|
370
401
|
result = binary_to_atom(i, data)
|
371
402
|
i = result[0]; node = result[1]
|
372
403
|
id = data[i,4]
|
373
404
|
i += 4
|
374
405
|
serial = data[i,4]
|
375
406
|
i += 4
|
376
|
-
|
377
|
-
|
407
|
+
if tag == TAG_NEW_PID_EXT
|
408
|
+
creation = data[i,4]
|
409
|
+
i += 4
|
410
|
+
elsif tag == TAG_PID_EXT
|
411
|
+
creation = data[i]
|
412
|
+
i += 1
|
413
|
+
end
|
378
414
|
return [i, OtpErlangPid.new(node, id, serial, creation)]
|
379
415
|
elsif tag == TAG_SMALL_TUPLE_EXT or tag == TAG_LARGE_TUPLE_EXT
|
380
416
|
if tag == TAG_SMALL_TUPLE_EXT
|
@@ -402,7 +438,7 @@ module Erlang
|
|
402
438
|
i = result[0]; tail = result[1]
|
403
439
|
if tail.kind_of?(OtpErlangList) == false or tail.value != []
|
404
440
|
tmp.push(tail)
|
405
|
-
tmp = OtpErlangList.new(tmp,
|
441
|
+
tmp = OtpErlangList.new(tmp, true)
|
406
442
|
else
|
407
443
|
tmp = OtpErlangList.new(tmp)
|
408
444
|
end
|
@@ -436,23 +472,28 @@ module Erlang
|
|
436
472
|
elsif tag == TAG_EXPORT_EXT
|
437
473
|
old_i = i
|
438
474
|
result = binary_to_atom(i, data)
|
439
|
-
i = result[0]
|
475
|
+
i = result[0]#; name_module = result[1]
|
440
476
|
result = binary_to_atom(i, data)
|
441
|
-
i = result[0]
|
477
|
+
i = result[0]#; function = result[1]
|
442
478
|
if data[i].ord != TAG_SMALL_INTEGER_EXT
|
443
479
|
raise ParseException, 'invalid small integer tag', caller
|
444
480
|
end
|
445
481
|
i += 1
|
446
|
-
arity = data[i].ord
|
482
|
+
#arity = data[i].ord
|
447
483
|
i += 1
|
448
484
|
return [i, OtpErlangFunction.new(tag, data[old_i,i - old_i])]
|
449
|
-
elsif tag == TAG_NEW_REFERENCE_EXT
|
485
|
+
elsif tag == TAG_NEWER_REFERENCE_EXT or tag == TAG_NEW_REFERENCE_EXT
|
450
486
|
j = data[i,2].unpack('n')[0] * 4
|
451
487
|
i += 2
|
452
488
|
result = binary_to_atom(i, data)
|
453
489
|
i = result[0]; node = result[1]
|
454
|
-
|
455
|
-
|
490
|
+
if tag == TAG_NEWER_REFERENCE_EXT
|
491
|
+
creation = data[i,4]
|
492
|
+
i += 4
|
493
|
+
elsif tag == TAG_NEW_REFERENCE_EXT
|
494
|
+
creation = data[i]
|
495
|
+
i += 1
|
496
|
+
end
|
456
497
|
id = data[i,j]
|
457
498
|
return [i + j, OtpErlangReference.new(node, id, creation)]
|
458
499
|
elsif tag == TAG_SMALL_ATOM_EXT
|
@@ -485,18 +526,18 @@ module Erlang
|
|
485
526
|
return [i, pairs]
|
486
527
|
elsif tag == TAG_FUN_EXT
|
487
528
|
old_i = i
|
488
|
-
numfree = data[i,4].unpack('N')[0]
|
529
|
+
#numfree = data[i,4].unpack('N')[0]
|
489
530
|
i += 4
|
490
531
|
result = binary_to_pid(i, data)
|
491
|
-
i = result[0]
|
532
|
+
i = result[0]#; pid = result[1]
|
492
533
|
result = binary_to_atom(i, data)
|
493
|
-
i = result[0]
|
534
|
+
i = result[0]#; name_module = result[1]
|
494
535
|
result = binary_to_integer(i, data)
|
495
|
-
i = result[0]
|
536
|
+
i = result[0]#; index = result[1]
|
496
537
|
result = binary_to_integer(i, data)
|
497
|
-
i = result[0]
|
538
|
+
i = result[0]#; uniq = result[1]
|
498
539
|
result = binary_to_term_sequence(i, numfree, data)
|
499
|
-
i = result[0]
|
540
|
+
i = result[0]#; free = result[1]
|
500
541
|
return [i, OtpErlangFunction.new(tag, data[old_i,i - old_i])]
|
501
542
|
elsif tag == TAG_ATOM_UTF8_EXT
|
502
543
|
j = data[i,2].unpack('n')[0]
|
@@ -570,7 +611,17 @@ module Erlang
|
|
570
611
|
def self.binary_to_pid(i, data)
|
571
612
|
tag = data[i].ord
|
572
613
|
i += 1
|
573
|
-
if tag ==
|
614
|
+
if tag == TAG_NEW_PID_EXT
|
615
|
+
result = binary_to_atom(i, data)
|
616
|
+
i = result[0]; node = result[1]
|
617
|
+
id = data[i,4]
|
618
|
+
i += 4
|
619
|
+
serial = data[i,4]
|
620
|
+
i += 4
|
621
|
+
creation = data[i,4]
|
622
|
+
i += 4
|
623
|
+
return [i, OtpErlangPid.new(node, id, serial, creation)]
|
624
|
+
elsif tag == TAG_PID_EXT
|
574
625
|
result = binary_to_atom(i, data)
|
575
626
|
i = result[0]; node = result[1]
|
576
627
|
id = data[i,4]
|
@@ -644,6 +695,10 @@ module Erlang
|
|
644
695
|
return OtpErlangAtom.new(
|
645
696
|
'false'.force_encoding('ISO-8859-1')
|
646
697
|
).binary
|
698
|
+
elsif term.nil?
|
699
|
+
return OtpErlangAtom.new(
|
700
|
+
'undefined'.force_encoding('ISO-8859-1')
|
701
|
+
).binary
|
647
702
|
elsif term.kind_of?(OtpErlangAtom)
|
648
703
|
return term.binary
|
649
704
|
elsif term.kind_of?(OtpErlangList)
|
@@ -772,6 +827,9 @@ module Erlang
|
|
772
827
|
TAG_NEW_FLOAT_EXT = 70
|
773
828
|
TAG_BIT_BINARY_EXT = 77
|
774
829
|
TAG_ATOM_CACHE_REF = 78
|
830
|
+
TAG_NEW_PID_EXT = 88
|
831
|
+
TAG_NEW_PORT_EXT = 89
|
832
|
+
TAG_NEWER_REFERENCE_EXT = 90
|
775
833
|
TAG_SMALL_INTEGER_EXT = 97
|
776
834
|
TAG_INTEGER_EXT = 98
|
777
835
|
TAG_FLOAT_EXT = 99
|
data/tests/erlang_tests.rb
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
#
|
5
5
|
# MIT License
|
6
6
|
#
|
7
|
-
# Copyright (c) 2014-
|
7
|
+
# Copyright (c) 2014-2019 Michael Truog <mjtruog at protonmail dot com>
|
8
8
|
# Copyright (c) 2009-2013 Dmitry Vasiliev <dima@hlabs.org>
|
9
9
|
#
|
10
10
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
@@ -70,7 +70,7 @@ end
|
|
70
70
|
|
71
71
|
class ImproperListTestCase < Test::Unit::TestCase
|
72
72
|
def test_improper_list
|
73
|
-
lst = Erlang::OtpErlangList.new([1, 2, 3, 4],
|
73
|
+
lst = Erlang::OtpErlangList.new([1, 2, 3, 4], true)
|
74
74
|
assert(lst.kind_of?(Erlang::OtpErlangList))
|
75
75
|
assert_equal(Erlang::OtpErlangList.new([1, 2, 3, 4]).value, lst.value)
|
76
76
|
assert_equal(4, lst.value[-1])
|
@@ -89,7 +89,7 @@ class ImproperListTestCase < Test::Unit::TestCase
|
|
89
89
|
end
|
90
90
|
def test_errors
|
91
91
|
assert_raise(Erlang::OutputException){
|
92
|
-
Erlang::OtpErlangList.new('invalid',
|
92
|
+
Erlang::OtpErlangList.new('invalid', true).binary
|
93
93
|
}
|
94
94
|
end
|
95
95
|
end
|
@@ -331,6 +331,67 @@ class DecodeTestCase < Test::Unit::TestCase
|
|
331
331
|
assert_equal(-6618611909121,
|
332
332
|
Erlang::binary_to_term("\x83o\0\0\0\6\1\1\2\3\4\5\6"))
|
333
333
|
end
|
334
|
+
def test_binary_to_term_pid
|
335
|
+
pid_old_binary = (
|
336
|
+
"\x83\x67\x64\x00\x0D\x6E\x6F\x6E\x6F\x64\x65\x40\x6E\x6F" \
|
337
|
+
"\x68\x6F\x73\x74\x00\x00\x00\x4E\x00\x00\x00\x00\x00"
|
338
|
+
)
|
339
|
+
pid_old = Erlang::binary_to_term(pid_old_binary)
|
340
|
+
assert(pid_old.kind_of?(Erlang::OtpErlangPid))
|
341
|
+
assert_equal(Erlang::term_to_binary(pid_old),
|
342
|
+
"\x83gs\rnonode@nohost\x00\x00\x00N" \
|
343
|
+
"\x00\x00\x00\x00\x00")
|
344
|
+
pid_new_binary = (
|
345
|
+
"\x83\x58\x64\x00\x0D\x6E\x6F\x6E\x6F\x64\x65\x40\x6E\x6F\x68" \
|
346
|
+
"\x6F\x73\x74\x00\x00\x00\x4E\x00\x00\x00\x00\x00\x00\x00\x00"
|
347
|
+
)
|
348
|
+
pid_new = Erlang::binary_to_term(pid_new_binary)
|
349
|
+
assert(pid_new.kind_of?(Erlang::OtpErlangPid))
|
350
|
+
assert_equal(Erlang::term_to_binary(pid_new),
|
351
|
+
"\x83Xs\rnonode@nohost\x00\x00\x00N" \
|
352
|
+
"\x00\x00\x00\x00\x00\x00\x00\x00")
|
353
|
+
end
|
354
|
+
def test_binary_to_term_port
|
355
|
+
port_old_binary = (
|
356
|
+
"\x83\x66\x64\x00\x0D\x6E\x6F\x6E\x6F\x64\x65\x40\x6E\x6F\x68" \
|
357
|
+
"\x6F\x73\x74\x00\x00\x00\x06\x00"
|
358
|
+
)
|
359
|
+
port_old = Erlang::binary_to_term(port_old_binary)
|
360
|
+
assert(port_old.kind_of?(Erlang::OtpErlangPort))
|
361
|
+
assert_equal(Erlang::term_to_binary(port_old),
|
362
|
+
"\x83fs\rnonode@nohost\x00\x00\x00\x06\x00")
|
363
|
+
port_new_binary = (
|
364
|
+
"\x83\x59\x64\x00\x0D\x6E\x6F\x6E\x6F\x64\x65\x40\x6E\x6F\x68" \
|
365
|
+
"\x6F\x73\x74\x00\x00\x00\x06\x00\x00\x00\x00"
|
366
|
+
)
|
367
|
+
port_new = Erlang::binary_to_term(port_new_binary)
|
368
|
+
assert(port_new.kind_of?(Erlang::OtpErlangPort))
|
369
|
+
assert_equal(Erlang::term_to_binary(port_new),
|
370
|
+
"\x83Ys\rnonode@nohost\x00\x00\x00\x06" \
|
371
|
+
"\x00\x00\x00\x00")
|
372
|
+
end
|
373
|
+
def test_binary_to_term_ref
|
374
|
+
ref_new_binary = (
|
375
|
+
"\x83\x72\x00\x03\x64\x00\x0D\x6E\x6F\x6E\x6F\x64\x65\x40\x6E" \
|
376
|
+
"\x6F\x68\x6F\x73\x74\x00\x00\x03\xE8\x4E\xE7\x68\x00\x02\xA4" \
|
377
|
+
"\xC8\x53\x40"
|
378
|
+
)
|
379
|
+
ref_new = Erlang::binary_to_term(ref_new_binary)
|
380
|
+
assert(ref_new.kind_of?(Erlang::OtpErlangReference))
|
381
|
+
assert_equal(Erlang::term_to_binary(ref_new),
|
382
|
+
"\x83r\x00\x03s\rnonode@nohost\x00\x00\x03\xe8" \
|
383
|
+
"N\xe7h\x00\x02\xa4\xc8S@")
|
384
|
+
ref_newer_binary = (
|
385
|
+
"\x83\x5A\x00\x03\x64\x00\x0D\x6E\x6F\x6E\x6F\x64\x65\x40\x6E" \
|
386
|
+
"\x6F\x68\x6F\x73\x74\x00\x00\x00\x00\x00\x01\xAC\x03\xC7\x00" \
|
387
|
+
"\x00\x04\xBB\xB2\xCA\xEE"
|
388
|
+
)
|
389
|
+
ref_newer = Erlang::binary_to_term(ref_newer_binary)
|
390
|
+
assert(ref_newer.kind_of?(Erlang::OtpErlangReference))
|
391
|
+
assert_equal(Erlang::term_to_binary(ref_newer),
|
392
|
+
"\x83Z\x00\x03s\rnonode@nohost\x00\x00\x00\x00\x00" \
|
393
|
+
"\x01\xac\x03\xc7\x00\x00\x04\xbb\xb2\xca\xee")
|
394
|
+
end
|
334
395
|
def test_binary_to_term_compressed_term
|
335
396
|
assert_raise(Erlang::ParseException){
|
336
397
|
Erlang::binary_to_term("\x83P")
|
@@ -524,9 +585,10 @@ class EncodeTestCase < Test::Unit::TestCase
|
|
524
585
|
assert_equal("\x83k\0\4test",
|
525
586
|
Erlang::term_to_binary('test'))
|
526
587
|
end
|
527
|
-
def
|
588
|
+
def test_term_to_binary_predefined_atom
|
528
589
|
assert_equal("\x83s\4true", Erlang::term_to_binary(true))
|
529
590
|
assert_equal("\x83s\5false", Erlang::term_to_binary(false))
|
591
|
+
assert_equal("\x83s\x09undefined", Erlang::term_to_binary(nil))
|
530
592
|
end
|
531
593
|
def test_term_to_binary_short_integer
|
532
594
|
assert_equal("\x83a\0", Erlang::term_to_binary(0))
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: erlang_rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Truog
|
@@ -10,30 +10,30 @@ bindir: bin
|
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
+
|
31
|
-
|
13
|
+
MIIDgDCCAmigAwIBAgIBATANBgkqhkiG9w0BAQUFADBDMRAwDgYDVQQDDAdtanRy
|
14
|
+
dW9nMRowGAYKCZImiZPyLGQBGRYKcHJvdG9ubWFpbDETMBEGCgmSJomT8ixkARkW
|
15
|
+
A2NvbTAeFw0xOTExMjkwMjM1MzJaFw0yMDExMjgwMjM1MzJaMEMxEDAOBgNVBAMM
|
16
|
+
B21qdHJ1b2cxGjAYBgoJkiaJk/IsZAEZFgpwcm90b25tYWlsMRMwEQYKCZImiZPy
|
17
|
+
LGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5Ar67eHx
|
18
|
+
R/cmFgsj58SkbsqEQWZOQ5GNO25IKuwjGHqznJXszXM1NW0YFLjgXjsXVdTXPeIC
|
19
|
+
CbkfoR8Yc1CEI6FYOWqhO0JqpPfYzt0s27o3Ua2x8j6n+31iRkbArIX2IVEjvBNd
|
20
|
+
UiTg6mG4Hc3KLqrBRDxZ+uyzqH/FEGPi5Ggak/E5xKwSdPWBPqDYKcze+suXxYO7
|
21
|
+
u38NwloGxpatQGgHgNGf83RfWDPaiYHGdPAsvUDzRFauxcG8sYRbmohc0TmE5+TQ
|
22
|
+
KMviZJNaNOaQkW1/twRQpo9PEv8bxEzEXT+tNOMEHrXgKv4+xEZYBM7D1FdP8gKj
|
23
|
+
wMXN22ZkLWzP8wIDAQABo38wfTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNV
|
24
|
+
HQ4EFgQUT8+9UATmehNm5Lg1aBx8HLK7MZwwIQYDVR0RBBowGIEWbWp0cnVvZ0Bw
|
25
|
+
cm90b25tYWlsLmNvbTAhBgNVHRIEGjAYgRZtanRydW9nQHByb3Rvbm1haWwuY29t
|
26
|
+
MA0GCSqGSIb3DQEBBQUAA4IBAQANj/kudiIbxJaurULxhML4palEaqIeWCw24bxj
|
27
|
+
X72RvO4Ti6DDKpeccK0QF26tZCOw4ngxPPY0w1Zzq96iYMVPlKVBYVDCtjIkFNDt
|
28
|
+
Q/0hupNd8lLloTlIJ7jzHohfPtzUjsdC0d0cwXZLkjxhw67N7QPDxsCEa+jiHaWd
|
29
|
+
i+DxiISAPKf9ugw5kej0v2j15juXiK5pwKIDDGAFfv3WAFbJXleLoqdM87rbC/vq
|
30
|
+
KH+3FIhF8jYeRqq/8g4k6zsZZwRewPjObe3Wm4yEv0f0dxdQRuWcuE7s7z0Bss5J
|
31
|
+
YQYB6UQUREuP9rhSHKbAZd9CPR3XW+S7PkeQiWc8ceLFVsfK
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date:
|
33
|
+
date: 2020-06-04 00:00:00.000000000 Z
|
34
34
|
dependencies: []
|
35
35
|
description: Erlang Binary Term Format for Ruby
|
36
|
-
email: mjtruog@
|
36
|
+
email: mjtruog@protonmail.com
|
37
37
|
executables: []
|
38
38
|
extensions: []
|
39
39
|
extra_rdoc_files:
|
@@ -61,8 +61,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: '0'
|
63
63
|
requirements: []
|
64
|
-
|
65
|
-
rubygems_version: 2.6.11
|
64
|
+
rubygems_version: 3.1.2
|
66
65
|
signing_key:
|
67
66
|
specification_version: 4
|
68
67
|
summary: Erlang
|
metadata.gz.sig
CHANGED
Binary file
|