require 'bit_struct/field' module BitStruct class NestedField < Field def initialize( name, nested_class, description = nil ) super name, nil, description @nested_class = nested_class @nested = nested_class.new end def length @nested_class.length end def read( slicer ) bytes = slicer.get_bytes @nested.set_data bytes @nested end def write( slicer, new_value ) # TODO: What should be allowed here? # TODO: new_value.is_a? String # TODO: new_value.is_a? Array # TODO: new_value.is_a? StructBase raise "NYI" end end end