Method: Main::Program::ClassMethods#mixin

Defined in:
lib/main/program/class_methods.rb

#mixin(name, *names, &block) ⇒ Object



241
242
243
244
245
246
247
248
249
250
251
252
# File 'lib/main/program/class_methods.rb', line 241

def mixin(name, *names, &block)
  names = [name, *names].flatten.compact.map{|name| name.to_s}
  if block
    names.each do |name|
      mixin_table[name] = block
    end
  else
    names.each do |name|
      module_eval(&mixin_table[name])
    end
  end
end