Module: Scale::Types::Enum::ClassMethods
- Defined in:
- lib/scale/base.rb
Instance Method Summary collapse
- #decode(scale_bytes) ⇒ Object
-
#inner_types(*inner_types) ⇒ Object
inner_types(Scale::Types::Compact, “Hex”).
-
#items(**items) ⇒ Object
items(Item1: Scale::Types::Compact, Item2: “Hex”).
-
#values(*values) ⇒ Object
[1, “hello”].
Instance Method Details
#decode(scale_bytes) ⇒ Object
256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 |
# 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) ⇒ Object
inner_types(Scale::Types::Compact, “Hex”)
281 282 283 |
# File 'lib/scale/base.rb', line 281 def inner_types(*inner_types) const_set(:INNER_TYPES, inner_types) end |
#items(**items) ⇒ Object
items(Item1: Scale::Types::Compact, Item2: “Hex”)
286 287 288 |
# File 'lib/scale/base.rb', line 286 def items(**items) const_set(:ITEMS, items) end |
#values(*values) ⇒ Object
- 1, “hello”
291 292 293 |
# File 'lib/scale/base.rb', line 291 def values(*values) const_set(:VALUES, values) end |