module DefineMethods

Constants

VERSION

Protected Class Methods

call(*method_names, &does) click to toggle source
# File lib/define_methods.rb, line 21
def call(*method_names, &does)
  each(&does).new(*method_names)
end
each(&does) click to toggle source
# File lib/define_methods.rb, line 17
def each(&does)
  Base.each(&does)
end
included(base) click to toggle source
# File lib/define_methods.rb, line 25
def included(base)
  return if base.respond_to? :[]

  class << base
    alias_method :[], :new
  end
end

Public Instance Methods

define_methods(*method_names, &block) click to toggle source
# 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

Protected Instance Methods

defined_methods() click to toggle source
# File lib/define_methods.rb, line 12
def defined_methods
  @defined_methods ||= []
end