Module: Scale::Types::Vec::ClassMethods

Defined in:
lib/scale/base.rb

Instance Method Summary collapse

Instance Method Details

#decode(scale_bytes, raw = false) ⇒ Object



323
324
325
326
327
328
329
330
331
332
333
# File 'lib/scale/base.rb', line 323

def decode(scale_bytes, raw = false)
  puts "BEGIN " + self::TYPE_NAME + ": #{scale_bytes}" if Scale::Types.debug == true
  number = Scale::Types::Compact.decode(scale_bytes).value
  items = []
  number.times do
    item = self::INNER_TYPE.decode(scale_bytes)
    items << item
  end
  puts "  END " + self::TYPE_NAME + ": #{scale_bytes}" if Scale::Types.debug == true
  raw ? items : new(items)
end

#inner_type(type) ⇒ Object



335
336
337
# File 'lib/scale/base.rb', line 335

def inner_type(type)
  const_set(:INNER_TYPE, type)
end