Included Modules

Files

Class/Module Index [+]

Quicksearch

BinData::Record

A Record is a declarative wrapper around Struct.

require 'bindata'

class SomeDataType < BinData::Record
  hide :a

  int32le :a
  int16le :b
  struct  :s do
    int8  :x
    int8  :y
    int8  :z
  end
end

obj = SomeDataType.new
obj.field_names   =># [:b, :s]
obj.s.field_names =># [:x, :y, :z]

Public Class Methods

arg_extractor() click to toggle source
# File lib/bindata/record.rb, line 34
def arg_extractor
  MultiFieldArgExtractor
end
define_field_accessors_for(name, index) click to toggle source
# File lib/bindata/record.rb, line 62
def define_field_accessors_for(name, index)
  define_method(name) do
    instantiate_obj_at(index) unless @field_objs[index]
    @field_objs[index]
  end
  define_method(name.to_s + "=") do |*vals|
    instantiate_obj_at(index) unless @field_objs[index]
    @field_objs[index].assign(*vals)
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.