Method: Monkey::Ext::ExtDSL#feature

Defined in:
lib/monkey/ext.rb

#feature(name, mode = :instance, &block) ⇒ Object



69
70
71
72
73
74
75
76
77
78
# File 'lib/monkey/ext.rb', line 69

def feature(name, mode = :instance, &block)
  case mode
  when :instance then block.call
  when :class then class_methods(&block)
  when :shared
    feature(name, :instance, &block)
    feature(name, :class, &block)
  else raise ArgumentError, "unkown mode #{mode.inspect}"
  end
end