Parent

Files

Class/Module Index [+]

Quicksearch

BinData::DSLMixin::DSLBigAndLittleEndianHandler

Handles the :big_and_little endian option. This option creates two subclasses, each handling :big or :little endian.

Public Class Methods

new(the_class) click to toggle source
# File lib/bindata/dsl.rb, line 234
def initialize(the_class)
  @the_class = the_class
end

Public Instance Methods

ancestor_fields() click to toggle source
# File lib/bindata/dsl.rb, line 249
def ancestor_fields
  if subclass_of_big_and_little_endian?
    pparent = @the_class.superclass.superclass
    ancestor_with_endian = class_with_endian(pparent, @the_class.endian)
    obj_attribute(ancestor_with_endian, :fields)
  else
    nil
  end
end
forward_field_definition(*args, &block) click to toggle source
# File lib/bindata/dsl.rb, line 244
def forward_field_definition(*args, &block)
  class_with_endian(@the_class,    :big).send(*args, &block)
  class_with_endian(@the_class, :little).send(*args, &block)
end
prepare_subclasses() click to toggle source
# File lib/bindata/dsl.rb, line 238
def prepare_subclasses
  create_subclasses_with_endian
  make_class_abstract
  override_new_in_class
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.