Sha256: 3e4d92af623d6e71dea52a0b1c96afbc552d942e282cd7d012539c749dd3b7d6

Contents?: true

Size: 484 Bytes

Versions: 2

Compression:

Stored size: 484 Bytes

Contents

# stolen from:
# http://whytheluckystiff.net/articles/seeingMetaclassesClearly.html

class Object
  # 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

2 entries across 2 versions & 1 rubygems

Version Path
ruck-0.1.2 lib/ruck/misc/metaid.rb
ruck-0.1.0 lib/ruck/misc/metaid.rb