module Scale::Types::Enum::ClassMethods
Public Instance Methods
decode(scale_bytes)
click to toggle source
# File lib/scale/base.rb, line 256 def decode(scale_bytes) puts "BEGIN " + self::TYPE_NAME + ": #{scale_bytes}" if Scale::Types.debug == true index = scale_bytes.get_next_bytes(1)[0] if const_defined? "ITEMS" type = self::ITEMS.values[index] if type.class == ::String type = Scale::Types.get(type) end value = type.decode(scale_bytes) elsif const_defined? "INNER_TYPES" type = self::INNER_TYPES[index] if type.class == ::String type = Scale::Types.get(type) end value = type.decode(scale_bytes) else # VALUES value = self::VALUES[index] end puts " END " + self::TYPE_NAME + ": #{scale_bytes}" if Scale::Types.debug == true result = new(value) result.index = index result end
inner_types(*inner_types)
click to toggle source
inner_types
(Scale::Types::Compact
, “Hex”)
# File lib/scale/base.rb, line 281 def inner_types(*inner_types) const_set(:INNER_TYPES, inner_types) end
items(**items)
click to toggle source
items(Item1: Scale::Types::Compact
, Item2: “Hex”)
# File lib/scale/base.rb, line 286 def items(**items) const_set(:ITEMS, items) end
values(*values)
click to toggle source
- 1, “hello”
# File lib/scale/base.rb, line 291 def values(*values) const_set(:VALUES, values) end