module Scale::Types::Set::ClassMethods
Public Instance Methods
decode(scale_bytes)
click to toggle source
# File lib/scale/base.rb, line 358 def decode(scale_bytes) puts " BEGIN " + self::TYPE_NAME + ": #{scale_bytes}" if Scale::Types.debug == true value = "Scale::Types::U#{self::BYTE_LENGTH * 8}".constantize2.decode(scale_bytes).value return new [] unless value || value <= 0 result = self::ITEMS.select { |_, mask| value & mask > 0 }.keys puts " END " + self::TYPE_NAME + ": #{scale_bytes}" if Scale::Types.debug == true new result end
items(items, bytes_length = 1)
click to toggle source
items is a hash:
{ "TransactionPayment" => 0b00000001, "Transfer" => 0b00000010, "Reserve" => 0b00000100, ... }
# File lib/scale/base.rb, line 375 def items(items, bytes_length = 1) raise "byte length is wrong: #{bytes_length}" unless [1, 2, 4, 8, 16].include?(bytes_length) const_set(:ITEMS, items) const_set(:BYTE_LENGTH, bytes_length) end