Method: BinStruct::Struct.inherited

Defined in:
lib/bin_struct/struct.rb

.inherited(klass) ⇒ void

This method returns an undefined value.

On inheritage, create @attr_defs class variable

Parameters:

  • klass (Class)


128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# File 'lib/bin_struct/struct.rb', line 128

def inherited(klass)
  super

  attr_defs = {}
  @attr_defs.each do |k, v|
    attr_defs[k] = v.clone
  end
  ordered = @ordered_attrs.clone
  bf = bit_attrs.clone

  klass.class_eval do
    @ordered_attrs = ordered
    @attr_defs = attr_defs
    @bit_attrs = bf
  end
end