class Gogyou::Union

Private Class Methods

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

  # TODO: Accessor.define からコピペ。統一するべき。
  model = Model.union(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