Method: Main::Program::ClassMethods#mixin

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

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



253
254
255
256
257
258
259
260
261
262
263
264
# File 'lib/main/program/class_methods.rb', line 253

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