Module: DefineMethods
- Defined in:
- lib/define_methods.rb,
lib/define_methods/base.rb,
lib/define_methods/version.rb
Defined Under Namespace
Classes: Base
Constant Summary collapse
- VERSION =
"1.0.0"
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.call(*method_names, &does) ⇒ Object
21 22 23 |
# File 'lib/define_methods.rb', line 21 def call(*method_names, &does) each(&does).new(*method_names) end |
.each(&does) ⇒ Object
17 18 19 |
# File 'lib/define_methods.rb', line 17 def each(&does) Base.each(&does) end |
.included(base) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/define_methods.rb', line 25 def included(base) return if base.respond_to? :[] class << base alias_method :[], :new end end |
Instance Method Details
#define_methods(*method_names, &block) ⇒ Object
5 6 7 8 |
# File 'lib/define_methods.rb', line 5 def define_methods(*method_names, &block) method_names.map { |name| define_method(name, block) } .tap { |names| defined_methods.push(*names).uniq! } end |