Sha256: ecd6b90cc2439796fe71cdcd7c48523761ffd1e2bd2db4b1150156edc381fd7d
Contents?: true
Size: 776 Bytes
Versions: 20
Compression:
Stored size: 776 Bytes
Contents
module Etherlite::Types class ArrayDynamic < Base attr_reader :subtype def initialize(_subtype) raise ArgumentError, 'An array can not contain a dynamic type' if _subtype.dynamic? @subtype = _subtype end def signature "#{@subtype.signature}[]" end def encode(_values) raise ArgumentError, "expected an array for #{signature}" unless _values.is_a? Array encoded_array = Etherlite::Support::Array.encode([@subtype] * _values.length, _values) Etherlite::Utils.uint_to_hex(_values.length) + encoded_array end def decode(_connection, _data) length = Etherlite::Utils.hex_to_uint(_data[0..63]) Etherlite::Support::Array.decode(_connection, [@subtype] * length, _data[64..-1]) end end end
Version data entries
20 entries across 20 versions & 1 rubygems