erlang-etf 1.0.0 → 1.0.1
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 +4 -4
- data/.yardopts +3 -0
- data/Gemfile +10 -0
- data/README.md +3 -3
- data/Rakefile +3 -0
- data/erlang-etf.gemspec +0 -3
- data/lib/erlang/etf/atom.rb +28 -3
- data/lib/erlang/etf/atom_utf8.rb +27 -2
- data/lib/erlang/etf/binary.rb +10 -3
- data/lib/erlang/etf/bit_binary.rb +9 -5
- data/lib/erlang/etf/export.rb +12 -4
- data/lib/erlang/etf/extensions.rb +0 -19
- data/lib/erlang/etf/extensions/array.rb +0 -2
- data/lib/erlang/etf/extensions/big_decimal.rb +0 -2
- data/lib/erlang/etf/extensions/erlang-export.rb +0 -2
- data/lib/erlang/etf/extensions/erlang-list.rb +0 -2
- data/lib/erlang/etf/extensions/erlang-nil.rb +0 -2
- data/lib/erlang/etf/extensions/erlang-pid.rb +0 -2
- data/lib/erlang/etf/extensions/erlang-string.rb +13 -4
- data/lib/erlang/etf/extensions/erlang-tuple.rb +0 -2
- data/lib/erlang/etf/extensions/false_class.rb +0 -2
- data/lib/erlang/etf/extensions/float.rb +0 -2
- data/lib/erlang/etf/extensions/hash.rb +0 -2
- data/lib/erlang/etf/extensions/integer.rb +0 -2
- data/lib/erlang/etf/extensions/nil_class.rb +0 -2
- data/lib/erlang/etf/extensions/object.rb +0 -2
- data/lib/erlang/etf/extensions/regexp.rb +0 -2
- data/lib/erlang/etf/extensions/string.rb +0 -2
- data/lib/erlang/etf/extensions/symbol.rb +0 -2
- data/lib/erlang/etf/extensions/time.rb +0 -2
- data/lib/erlang/etf/extensions/true_class.rb +0 -2
- data/lib/erlang/etf/float.rb +9 -4
- data/lib/erlang/etf/fun.rb +26 -12
- data/lib/erlang/etf/integer.rb +7 -3
- data/lib/erlang/etf/large_big.rb +10 -5
- data/lib/erlang/etf/large_tuple.rb +6 -1
- data/lib/erlang/etf/list.rb +10 -5
- data/lib/erlang/etf/new_float.rb +7 -3
- data/lib/erlang/etf/new_fun.rb +47 -25
- data/lib/erlang/etf/new_reference.rb +14 -9
- data/lib/erlang/etf/nil.rb +8 -4
- data/lib/erlang/etf/pid.rb +13 -7
- data/lib/erlang/etf/port.rb +12 -6
- data/lib/erlang/etf/reference.rb +19 -10
- data/lib/erlang/etf/small_atom.rb +13 -6
- data/lib/erlang/etf/small_atom_utf8.rb +8 -3
- data/lib/erlang/etf/small_big.rb +14 -6
- data/lib/erlang/etf/small_integer.rb +7 -3
- data/lib/erlang/etf/small_tuple.rb +6 -2
- data/lib/erlang/etf/string.rb +6 -1
- data/lib/erlang/etf/version.rb +1 -1
- data/spec/erlang/etf/extensions/erlang-string_spec.rb +19 -4
- data/spec/erlang/etf/extensions/erlang-tuple_spec.rb +2 -1
- data/spec/erlang/etf/extensions/hash_spec.rb +3 -3
- data/spec/erlang/etf/large_tuple_spec.rb +1 -1
- data/spec/erlang_spec.rb +2 -1
- metadata +3 -44
data/lib/erlang/etf/nil.rb
CHANGED
@@ -2,11 +2,15 @@ module Erlang
|
|
2
2
|
module ETF
|
3
3
|
|
4
4
|
#
|
5
|
-
# 1
|
6
|
-
# ---
|
7
|
-
# 106
|
5
|
+
# | 1 |
|
6
|
+
# | --- |
|
7
|
+
# | 106 |
|
8
8
|
#
|
9
|
-
# The representation for an empty list, i.e. the Erlang syntax []
|
9
|
+
# The representation for an empty list, i.e. the Erlang syntax `[]`.
|
10
|
+
#
|
11
|
+
# (see [`NIL_EXT`])
|
12
|
+
#
|
13
|
+
# [`NIL_EXT`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#NIL_EXT
|
10
14
|
#
|
11
15
|
class Nil
|
12
16
|
include Term
|
data/lib/erlang/etf/pid.rb
CHANGED
@@ -2,14 +2,20 @@ module Erlang
|
|
2
2
|
module ETF
|
3
3
|
|
4
4
|
#
|
5
|
-
# 1 | N | 4
|
6
|
-
# --- | ---- |
|
7
|
-
# 103 | Node | ID
|
5
|
+
# 1 | N | 4 | 4 | 1
|
6
|
+
# --- | ---- | --- | ------ | --------
|
7
|
+
# 103 | Node | ID | Serial | Creation
|
8
8
|
#
|
9
|
-
# Encode a process identifier object (obtained from spawn/3 or
|
10
|
-
# friends). The ID and Creation fields works just like in
|
11
|
-
# REFERENCE_EXT, while the Serial field is used to improve safety.
|
12
|
-
# In ID
|
9
|
+
# Encode a process identifier object (obtained from [`spawn/3`] or
|
10
|
+
# friends). The `ID` and `Creation` fields works just like in
|
11
|
+
# [`REFERENCE_EXT`], while the `Serial` field is used to improve safety.
|
12
|
+
# In `ID`, only 15 bits are significant; the rest should be 0.
|
13
|
+
#
|
14
|
+
# (see [`PID_EXT`])
|
15
|
+
#
|
16
|
+
# [`spawn/3`]: http://erlang.org/doc/man/erlang.html#spawn-3
|
17
|
+
# [`REFERENCE_EXT`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#REFERENCE_EXT
|
18
|
+
# [`PID_EXT`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#PID_EXT
|
13
19
|
#
|
14
20
|
class Pid
|
15
21
|
include Term
|
data/lib/erlang/etf/port.rb
CHANGED
@@ -2,14 +2,20 @@ module Erlang
|
|
2
2
|
module ETF
|
3
3
|
|
4
4
|
#
|
5
|
-
# 1 | N | 4
|
6
|
-
# --- | ---- |
|
7
|
-
# 102 | Node | ID
|
5
|
+
# 1 | N | 4 | 1
|
6
|
+
# --- | ---- | --- | --------
|
7
|
+
# 102 | Node | ID | Creation
|
8
8
|
#
|
9
|
-
# Encode a port object (obtained form open_port/2). The ID is a
|
9
|
+
# Encode a port object (obtained form [`open_port/2`]). The `ID` is a
|
10
10
|
# node specific identifier for a local port. Port operations are
|
11
|
-
# not allowed across node boundaries. The Creation works just like
|
12
|
-
# in REFERENCE_EXT.
|
11
|
+
# not allowed across node boundaries. The `Creation` works just like
|
12
|
+
# in [`REFERENCE_EXT`].
|
13
|
+
#
|
14
|
+
# (see [`PORT_EXT`])
|
15
|
+
#
|
16
|
+
# [`open_port/2`]: http://erlang.org/doc/man/erlang.html#open_port-2
|
17
|
+
# [`REFERENCE_EXT`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#REFERENCE_EXT
|
18
|
+
# [`PORT_EXT`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#PORT_EXT
|
13
19
|
#
|
14
20
|
class Port
|
15
21
|
include Term
|
data/lib/erlang/etf/reference.rb
CHANGED
@@ -2,21 +2,30 @@ module Erlang
|
|
2
2
|
module ETF
|
3
3
|
|
4
4
|
#
|
5
|
-
# 1 | N | 4
|
6
|
-
# --- | ---- |
|
7
|
-
# 101 | Node | ID
|
5
|
+
# 1 | N | 4 | 1
|
6
|
+
# --- | ---- | --- | --------
|
7
|
+
# 101 | Node | ID | Creation
|
8
8
|
#
|
9
|
-
# Encode a reference object (an object generated with make_ref/0).
|
10
|
-
# The Node term is an encoded atom, i.e. ATOM_EXT, SMALL_ATOM_EXT
|
11
|
-
# or ATOM_CACHE_REF. The ID field contains a big-endian unsigned
|
9
|
+
# Encode a reference object (an object generated with [`make_ref/0`]).
|
10
|
+
# The `Node` term is an encoded atom, i.e. [`ATOM_EXT`], [`SMALL_ATOM_EXT`]
|
11
|
+
# or [`ATOM_CACHE_REF`]. The `ID` field contains a big-endian unsigned
|
12
12
|
# integer, but should be regarded as uninterpreted data since this
|
13
|
-
# field is node specific. Creation is a byte containing a node
|
13
|
+
# field is node specific. `Creation` is a byte containing a node
|
14
14
|
# serial number that makes it possible to separate old (crashed)
|
15
15
|
# nodes from a new one.
|
16
16
|
#
|
17
|
-
# In ID
|
18
|
-
# In Creation
|
19
|
-
# See NEW_REFERENCE_EXT.
|
17
|
+
# In `ID`, only 18 bits are significant; the rest should be 0.
|
18
|
+
# In `Creation`, only 2 bits are significant; the rest should be 0.
|
19
|
+
# See [`NEW_REFERENCE_EXT`].
|
20
|
+
#
|
21
|
+
# (see [`REFERENCE_EXT`])
|
22
|
+
#
|
23
|
+
# [`make_ref/0`]: http://erlang.org/doc/man/erlang.html#make_ref-0
|
24
|
+
# [`ATOM_EXT`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#ATOM_EXT
|
25
|
+
# [`SMALL_ATOM_EXT`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#SMALL_ATOM_EXT
|
26
|
+
# [`ATOM_CACHE_REF`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#ATOM_CACHE_REF
|
27
|
+
# [`NEW_REFERENCE_EXT`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#NEW_REFERENCE_EXT
|
28
|
+
# [`REFERENCE_EXT`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#REFERENCE_EXT
|
20
29
|
#
|
21
30
|
class Reference
|
22
31
|
include Term
|
@@ -6,13 +6,20 @@ module Erlang
|
|
6
6
|
# --- | --- | --------
|
7
7
|
# 115 | Len | AtomName
|
8
8
|
#
|
9
|
-
# An atom is stored with a 1 byte unsigned length, followed by Len
|
10
|
-
# numbers of 8 bit Latin1 characters that forms the AtomName
|
11
|
-
# Longer atoms can be represented by ATOM_EXT.
|
9
|
+
# An atom is stored with a 1 byte unsigned length, followed by `Len`
|
10
|
+
# numbers of 8 bit Latin1 characters that forms the `AtomName`.
|
11
|
+
# Longer atoms can be represented by [`ATOM_EXT`].
|
12
12
|
#
|
13
|
-
# Note the SMALL_ATOM_EXT was introduced in erts version 5.7.2 and
|
14
|
-
# require an exchange of the DFLAG_SMALL_ATOM_TAGS distribution
|
15
|
-
# flag in the distribution handshake.
|
13
|
+
# **Note** the [`SMALL_ATOM_EXT`] was introduced in erts version 5.7.2 and
|
14
|
+
# require an exchange of the [`DFLAG_SMALL_ATOM_TAGS`] distribution
|
15
|
+
# flag in the [distribution handshake].
|
16
|
+
#
|
17
|
+
# (see [`SMALL_ATOM_EXT`])
|
18
|
+
#
|
19
|
+
# [`ATOM_EXT`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#ATOM_EXT
|
20
|
+
# [`DFLAG_SMALL_ATOM_TAGS`]: http://erlang.org/doc/apps/erts/erl_dist_protocol.html#dflags
|
21
|
+
# [distribution handshake]: http://erlang.org/doc/apps/erts/erl_dist_protocol.html#distribution_handshake
|
22
|
+
# [`SMALL_ATOM_EXT`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#SMALL_ATOM_EXT
|
16
23
|
#
|
17
24
|
class SmallAtom
|
18
25
|
include Term
|
@@ -6,9 +6,14 @@ module Erlang
|
|
6
6
|
# --- | --- | --------
|
7
7
|
# 119 | Len | AtomName
|
8
8
|
#
|
9
|
-
# An atom is stored with a 1 byte unsigned length, followed by Len
|
10
|
-
# bytes containing the AtomName encoded in UTF-8. Longer atoms
|
11
|
-
# encoded in UTF-8 can be represented using ATOM_UTF8_EXT.
|
9
|
+
# An atom is stored with a 1 byte unsigned length, followed by `Len`
|
10
|
+
# bytes containing the `AtomName` encoded in UTF-8. Longer atoms
|
11
|
+
# encoded in UTF-8 can be represented using [`ATOM_UTF8_EXT`].
|
12
|
+
#
|
13
|
+
# (see [`SMALL_ATOM_UTF8_EXT`])
|
14
|
+
#
|
15
|
+
# [`ATOM_UTF8_EXT`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#ATOM_UTF8_EXT
|
16
|
+
# [`SMALL_ATOM_UTF8_EXT`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#SMALL_ATOM_UTF8_EXT
|
12
17
|
#
|
13
18
|
class SmallAtomUTF8
|
14
19
|
include Term
|
data/lib/erlang/etf/small_big.rb
CHANGED
@@ -2,16 +2,24 @@ module Erlang
|
|
2
2
|
module ETF
|
3
3
|
|
4
4
|
#
|
5
|
-
# 1 | 1
|
6
|
-
# --- |
|
7
|
-
# 110 | n
|
5
|
+
# 1 | 1 | 1 | n
|
6
|
+
# --- | --- | ---- | ---------------
|
7
|
+
# 110 | n | Sign | d(0) ... d(n-1)
|
8
8
|
#
|
9
|
-
# Bignums are stored in unary form with a Sign byte that is 0 if
|
9
|
+
# Bignums are stored in unary form with a `Sign` byte that is 0 if
|
10
10
|
# the binum is positive and 1 if is negative. The digits are
|
11
|
-
# stored with the LSB byte stored first.
|
12
|
-
#
|
11
|
+
# stored with the LSB byte stored first.
|
12
|
+
#
|
13
|
+
# To calculate the integer the following formula can be used:
|
14
|
+
#
|
15
|
+
# ```
|
13
16
|
# B = 256
|
14
17
|
# (d0*B^0 + d1*B^1 + d2*B^2 + ... d(N-1)*B^(n-1))
|
18
|
+
# ```
|
19
|
+
#
|
20
|
+
# (see [`SMALL_BIG_EXT`])
|
21
|
+
#
|
22
|
+
# [`SMALL_BIG_EXT`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#SMALL_BIG_EXT
|
15
23
|
#
|
16
24
|
class SmallBig
|
17
25
|
include Term
|
@@ -2,12 +2,16 @@ module Erlang
|
|
2
2
|
module ETF
|
3
3
|
|
4
4
|
#
|
5
|
-
# 1
|
6
|
-
#
|
7
|
-
# 97
|
5
|
+
# 1 | 1
|
6
|
+
# --- | ---
|
7
|
+
# 97 | Int
|
8
8
|
#
|
9
9
|
# Unsigned 8 bit integer.
|
10
10
|
#
|
11
|
+
# (see [`SMALL_INTEGER_EXT`])
|
12
|
+
#
|
13
|
+
# [`SMALL_INTEGER_EXT`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#SMALL_INTEGER_EXT
|
14
|
+
#
|
11
15
|
class SmallInteger
|
12
16
|
include Term
|
13
17
|
|
@@ -6,9 +6,13 @@ module Erlang
|
|
6
6
|
# --- | ----- | --------
|
7
7
|
# 104 | Arity | Elements
|
8
8
|
#
|
9
|
-
# SMALL_TUPLE_EXT encodes a tuple. The Arity field is an unsigned
|
9
|
+
# [`SMALL_TUPLE_EXT`] encodes a tuple. The `Arity` field is an unsigned
|
10
10
|
# byte that determines how many element that follows in the
|
11
|
-
# Elements section.
|
11
|
+
# `Elements` section.
|
12
|
+
#
|
13
|
+
# (see [`SMALL_TUPLE_EXT`])
|
14
|
+
#
|
15
|
+
# [`SMALL_TUPLE_EXT`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#SMALL_TUPLE_EXT
|
12
16
|
#
|
13
17
|
class SmallTuple
|
14
18
|
include Term
|
data/lib/erlang/etf/string.rb
CHANGED
@@ -11,7 +11,12 @@ module Erlang
|
|
11
11
|
# range 0-255) more efficiently over the distribution. Since the
|
12
12
|
# Length field is an unsigned 2 byte integer (big endian),
|
13
13
|
# implementations must make sure that lists longer than 65535
|
14
|
-
# elements are encoded as LIST_EXT.
|
14
|
+
# elements are encoded as [`LIST_EXT`].
|
15
|
+
#
|
16
|
+
# (see [`STRING_EXT`])
|
17
|
+
#
|
18
|
+
# [`LIST_EXT`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#LIST_EXT
|
19
|
+
# [`STRING_EXT`]: http://erlang.org/doc/apps/erts/erl_ext_dist.html#STRING_EXT
|
15
20
|
#
|
16
21
|
class String
|
17
22
|
include Term
|
data/lib/erlang/etf/version.rb
CHANGED
@@ -11,15 +11,30 @@ describe Erlang::ETF::Extensions::ErlangString do
|
|
11
11
|
describe '__erlang_type__' do
|
12
12
|
subject { instance.__erlang_type__ }
|
13
13
|
|
14
|
-
|
15
|
-
|
14
|
+
context 'simple string' do
|
15
|
+
let(:args) {[ "test" ]}
|
16
|
+
it { should eq(:string) }
|
17
|
+
end
|
18
|
+
|
19
|
+
context 'when bytesize larger than 1 << 16' do
|
20
|
+
let(:args) {[ "a" * (1 << 16) ]}
|
21
|
+
it { should eq(:list) }
|
22
|
+
end
|
16
23
|
end
|
17
24
|
|
18
25
|
describe '__erlang_evolve__' do
|
19
26
|
subject { instance.__erlang_evolve__ }
|
20
27
|
|
21
|
-
|
22
|
-
|
28
|
+
context 'simple string' do
|
29
|
+
let(:args) {[ "test" ]}
|
30
|
+
it { should eq(Erlang::ETF::String.new("test")) }
|
31
|
+
end
|
32
|
+
|
33
|
+
context 'when bytesize larger than 1 << 16' do
|
34
|
+
let(:args) {[ "a" * (1 << 16) ]}
|
35
|
+
its(:len) { should eq(1 << 16) }
|
36
|
+
it { should be_a(Erlang::ETF::List) }
|
37
|
+
end
|
23
38
|
end
|
24
39
|
end
|
25
40
|
|
@@ -48,7 +48,8 @@ describe Erlang::ETF::Extensions::ErlangTuple do
|
|
48
48
|
context 'when arity is greater than or equal to 256' do
|
49
49
|
let(:elements) { [[]] * 256 }
|
50
50
|
|
51
|
-
|
51
|
+
its(:arity) { should eq(256) }
|
52
|
+
it { should be_a(Erlang::ETF::LargeTuple) }
|
52
53
|
end
|
53
54
|
end
|
54
55
|
end
|
@@ -36,7 +36,7 @@ describe Erlang::ETF::Extensions::Hash do
|
|
36
36
|
context 'when empty' do
|
37
37
|
let(:keyvalues) { [] }
|
38
38
|
|
39
|
-
it { should eq(
|
39
|
+
it("should eq {:bert, :dict, []}") { should eq(
|
40
40
|
Erlang::ETF::SmallTuple.new([
|
41
41
|
Erlang::ETF::SmallAtom.new("bert"),
|
42
42
|
Erlang::ETF::SmallAtom.new("dict"),
|
@@ -48,7 +48,7 @@ describe Erlang::ETF::Extensions::Hash do
|
|
48
48
|
context 'when arity is less than 256' do
|
49
49
|
let(:keyvalues) { [:a, 1] }
|
50
50
|
|
51
|
-
it { should eq(
|
51
|
+
it("should eq {:bert, :dict, [{:a, 1}]}") { should eq(
|
52
52
|
Erlang::ETF::SmallTuple.new([
|
53
53
|
Erlang::ETF::SmallAtom.new("bert"),
|
54
54
|
Erlang::ETF::SmallAtom.new("dict"),
|
@@ -76,7 +76,7 @@ describe Erlang::ETF::Extensions::Hash do
|
|
76
76
|
elements
|
77
77
|
}
|
78
78
|
|
79
|
-
it { should eq(
|
79
|
+
it("should eq {:bert, :dict, [{1, []}, {2, []}, ..., {256, []}]}") { should eq(
|
80
80
|
Erlang::ETF::SmallTuple.new([
|
81
81
|
Erlang::ETF::SmallAtom.new("bert"),
|
82
82
|
Erlang::ETF::SmallAtom.new("dict"),
|
@@ -38,7 +38,7 @@ describe Erlang::ETF::LargeTuple do
|
|
38
38
|
let(:bytes) { [0, 0, 1, 0, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106] }
|
39
39
|
|
40
40
|
its(:arity) { should eq(256) }
|
41
|
-
its(:elements) { should eq([erlang_nil] * 256) }
|
41
|
+
# its(:elements) { should eq([erlang_nil] * 256) }
|
42
42
|
end
|
43
43
|
end
|
44
44
|
end
|
data/spec/erlang_spec.rb
CHANGED
@@ -50,7 +50,8 @@ describe Erlang do
|
|
50
50
|
Erlang::Tuple[:bert, :dict, :invalid],
|
51
51
|
Erlang::Tuple[:bert, :dict],
|
52
52
|
Erlang::Tuple[:bert, :dict, Erlang::Tuple[:a]],
|
53
|
-
Time.now,
|
53
|
+
# Time.now,
|
54
|
+
Time.at(1363190400, 31388),
|
54
55
|
Erlang::Tuple[:bert, :time],
|
55
56
|
Erlang::Tuple[:bert, :time, 1, 1],
|
56
57
|
Erlang::Tuple[:bert, :time, 1, 1, 1, 1],
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: erlang-etf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Bennett
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-03-
|
11
|
+
date: 2013-03-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: binary-protocol
|
@@ -52,34 +52,6 @@ dependencies:
|
|
52
52
|
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.3'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: pry
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - '>='
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: pry-doc
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - '>='
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - '>='
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
55
|
- !ruby/object:Gem::Dependency
|
84
56
|
name: rake
|
85
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,20 +80,6 @@ dependencies:
|
|
108
80
|
- - '>='
|
109
81
|
- !ruby/object:Gem::Version
|
110
82
|
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: simplecov
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - '>='
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - '>='
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
83
|
description: Erlang External Term Format (ETF) for Ruby
|
126
84
|
email:
|
127
85
|
- andrew@delorum.com
|
@@ -132,6 +90,7 @@ files:
|
|
132
90
|
- .gitignore
|
133
91
|
- .rspec
|
134
92
|
- .travis.yml
|
93
|
+
- .yardopts
|
135
94
|
- Gemfile
|
136
95
|
- LICENSE.txt
|
137
96
|
- README.md
|