Sha256: eb2360195e213c52e4ef83efa23d65790834032efdde54764a994de00a92db21

Contents?: true

Size: 458 Bytes

Versions: 11

Compression:

Stored size: 458 Bytes

Contents

# metaprogramming assistant -- metaid.rb
class Object # :nodoc:
  # The hidden singleton lurks behind everyone
  def metaclass; class << self; self; end; end
  def meta_eval(&blk); metaclass.instance_eval(&blk); end

  # Adds methods to a metaclass
  def meta_def(name, &blk)
    meta_eval { define_method(name, &blk) }
  end
  
  # Defines an instance method within a class
  def class_def(name, &blk)
    class_eval { define_method(name, &blk) }
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
parameters-0.4.4 lib/parameters/extensions/meta/object.rb
parameters-0.4.3 lib/parameters/extensions/meta/object.rb
parameters-0.4.2 lib/parameters/extensions/meta/object.rb
parameters-0.4.0 lib/parameters/extensions/meta/object.rb
parameters-0.3.1 lib/parameters/extensions/meta/object.rb
parameters-0.3.0 lib/parameters/extensions/meta/object.rb
parameters-0.2.3 lib/parameters/extensions/meta/object.rb
parameters-0.2.2 lib/parameters/extensions/meta/object.rb
parameters-0.2.1 lib/parameters/extensions/meta/object.rb
parameters-0.2.0 lib/parameters/extensions/meta/object.rb
parameters-0.1.9 lib/parameters/extensions/meta/object.rb