Sha256: b99ceb5292256c1d9637509dab863723fc58b9cf388c10797d33034c3f862782

Contents?: true

Size: 511 Bytes

Versions: 2

Compression:

Stored size: 511 Bytes

Contents

Mmmm::Top = self

module Mmmm

  Helper = Proc.new do |obj, method = nil|
    Mmmm[obj, method]
  end

  class << self

    def helper name
      if Mmmm::Top.respond_to? name or
        Mmmm::Top.private_methods.include? name
	raise NameError,"#{name} is already defined. Please use Mmmm.helper(:another_name)"
        return
      end
      define_helper_method name
    end

    private

    def define_helper_method name
      (class << Top; self; end).send :define_method, name, Helper
    end

  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mmmm-0.1.2 lib/mmmm/helper.rb
mmmm-0.1.0 lib/mmmm/helper.rb