Module: Erlang::ETF
- Extended by:
- ETF
- Included in:
- ETF
- Defined in:
- lib/erlang/etf.rb,
lib/erlang/etf/fun.rb,
lib/erlang/etf/map.rb,
lib/erlang/etf/nil.rb,
lib/erlang/etf/pid.rb,
lib/erlang/etf/atom.rb,
lib/erlang/etf/bert.rb,
lib/erlang/etf/list.rb,
lib/erlang/etf/port.rb,
lib/erlang/etf/term.rb,
lib/erlang/etf/float.rb,
lib/erlang/etf/terms.rb,
lib/erlang/etf/terms.rb,
lib/erlang/etf/binary.rb,
lib/erlang/etf/export.rb,
lib/erlang/etf/string.rb,
lib/erlang/etf/integer.rb,
lib/erlang/etf/new_fun.rb,
lib/erlang/etf/version.rb,
lib/erlang/etf/atom_utf8.rb,
lib/erlang/etf/large_big.rb,
lib/erlang/etf/new_float.rb,
lib/erlang/etf/reference.rb,
lib/erlang/etf/small_big.rb,
lib/erlang/etf/bit_binary.rb,
lib/erlang/etf/compressed.rb,
lib/erlang/etf/extensions.rb,
lib/erlang/etf/extensions.rb,
lib/erlang/etf/extensions.rb,
lib/erlang/etf/small_atom.rb,
lib/erlang/etf/large_tuple.rb,
lib/erlang/etf/small_tuple.rb,
lib/erlang/etf/new_reference.rb,
lib/erlang/etf/small_integer.rb,
lib/erlang/etf/extensions/hash.rb,
lib/erlang/etf/extensions/time.rb,
lib/erlang/etf/small_atom_utf8.rb,
lib/erlang/etf/extensions/array.rb,
lib/erlang/etf/extensions/float.rb,
lib/erlang/etf/extensions/object.rb,
lib/erlang/etf/extensions/regexp.rb,
lib/erlang/etf/extensions/string.rb,
lib/erlang/etf/extensions/symbol.rb,
lib/erlang/etf/extensions/integer.rb,
lib/erlang/etf/extensions/nil_class.rb,
lib/erlang/etf/extensions/erlang-map.rb,
lib/erlang/etf/extensions/erlang-nil.rb,
lib/erlang/etf/extensions/erlang-pid.rb,
lib/erlang/etf/extensions/true_class.rb,
lib/erlang/etf/extensions/big_decimal.rb,
lib/erlang/etf/extensions/erlang-list.rb,
lib/erlang/etf/extensions/false_class.rb,
lib/erlang/etf/extensions/erlang-tuple.rb,
lib/erlang/etf/extensions/erlang-export.rb,
lib/erlang/etf/extensions/erlang-string.rb
Defined Under Namespace
Modules: BERT, Extensions, Term, Terms Classes: Atom, AtomUTF8, Binary, BitBinary, Compressed, Export, Float, Fun, Integer, LargeBig, LargeTuple, List, Map, NewFloat, NewFun, NewReference, Nil, Pid, Port, Reference, SmallAtom, SmallAtomUTF8, SmallBig, SmallInteger, SmallTuple, String
Constant Summary collapse
- ERLANG_MAGIC_BYTE =
131.chr.freeze
- VERSION =
"1.1.1"
Instance Method Summary collapse
Instance Method Details
#decode(buffer) ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/erlang/etf.rb', line 24 def decode(buffer) magic = buffer.read(1) if magic == ERLANG_MAGIC_BYTE Terms.evolve(buffer) else raise NotImplementedError, "unknown Erlang magic byte #{magic.inspect} (should be #{ERLANG_MAGIC_BYTE.inspect})" end end |
#encode(term, buffer = "", options = {}) ⇒ Object
15 16 17 18 19 20 21 22 |
# File 'lib/erlang/etf.rb', line 15 def encode(term, buffer = "", = {}) buffer << ERLANG_MAGIC_BYTE if [:compressed] Compressed.new(term.__erlang_evolve__, [:compressed]).serialize(buffer) else term.__erlang_dump__(buffer) end end |