Class: Erlang::ETF::SmallTuple
- Inherits:
-
Object
- Object
- Erlang::ETF::SmallTuple
- Includes:
- Term
- Defined in:
- lib/erlang/etf/small_tuple.rb
Overview
1 | 1 | N |
---|---|---|
104 | Arity | Elements |
SMALL_TUPLE_EXT
encodes a tuple. The Arity
field is an unsigned
byte that determines how many element that follows in the
Elements
section.
(see SMALL_TUPLE_EXT
)
Constant Summary
Constants included from Term
Term::BERT_PREFIX, Term::BIN_LSB_PACK, Term::BIN_MSB_PACK
Instance Method Summary collapse
- #__ruby_evolve__ ⇒ Object
- #bert? ⇒ Boolean
-
#initialize(elements) ⇒ SmallTuple
constructor
A new instance of SmallTuple.
- #serialize_header(buffer) ⇒ Object
Methods included from Term
#==, #__erlang_evolve__, #__erlang_type__, included
Constructor Details
#initialize(elements) ⇒ SmallTuple
Returns a new instance of SmallTuple.
37 38 39 |
# File 'lib/erlang/etf/small_tuple.rb', line 37 def initialize(elements) @elements = elements end |
Instance Method Details
#__ruby_evolve__ ⇒ Object
51 52 53 54 55 56 57 |
# File 'lib/erlang/etf/small_tuple.rb', line 51 def __ruby_evolve__ if bert? ::Erlang::ETF::BERT.evolve(self) else ::Erlang::Tuple[*elements.map(&:__ruby_evolve__)] end end |
#bert? ⇒ Boolean
46 47 48 49 |
# File 'lib/erlang/etf/small_tuple.rb', line 46 def bert? elements[0].respond_to?(:atom_name) && elements[0].atom_name == BERT_PREFIX end |
#serialize_header(buffer) ⇒ Object
41 42 43 44 |
# File 'lib/erlang/etf/small_tuple.rb', line 41 def serialize_header(buffer) serialize_tag(buffer) serialize_arity(buffer) end |