class Gogyou::Struct

Private Class Methods

struct(&block) click to toggle source
# File lib/gogyou.rb, line 197
def self.struct(&block)
  raise TypeError, "already defined struct" if const_defined?(:MODEL)

  # TODO: Accessor.define からコピペ。統一するべき。
  model = Model.struct(Model::TYPEMAP.dup, &block)
  const_set(:MODEL, model)
  const_set(:BYTESIZE, model.bytesize)
  const_set(:BYTEALIGN, model.bytealign)
  const_set(:EXTENSIBLE, model.extensible?)
  define_accessors(self, model)

  nil
end