Module: Scale::Types::FixedWidthInt::ClassMethods

Defined in:
lib/scale/base.rb

Instance Method Summary collapse

Instance Method Details

#decode(scale_bytes) ⇒ Object



101
102
103
104
105
106
107
108
# File 'lib/scale/base.rb', line 101

def decode(scale_bytes)
  puts "BEGIN " + self::TYPE_NAME + ": #{scale_bytes}" if Scale::Types.debug == true
  bytes = scale_bytes.get_next_bytes self::BYTE_LENGTH
  bit_length = bytes.length.to_i * 8
  value = bytes.reverse.bytes_to_hex.to_i(16).to_signed(bit_length)
  puts "  END " + self::TYPE_NAME + ": #{scale_bytes}" if Scale::Types.debug == true
  new(value)
end