module Scale::Types::VecU8FixedLength
Public Class Methods
included(base)
click to toggle source
# File lib/scale/base.rb, line 413 def self.included(base) base.extend ClassMethods end
Public Instance Methods
encode()
click to toggle source
# File lib/scale/base.rb, line 417 def encode byte_length = self.class::BYTE_LENGTH raise "#{self.class.name}'s byte length is wrong: #{byte_length}" unless %w[2 3 4 8 16 20 32 64 128 256].include?(byte_length.to_s) if value.start_with?("0x") && value.length == (byte_length * 2 + 2) value[2..] else bytes = value.unpack("C*") bytes.bytes_to_hex[2..] end end