Method: Object#meta_eval

Defined in:
lib/extra/object.rb

#meta_eval(&block) ⇒ Object

whytheluckystiff: whytheluckystiff.net/articles/seeingMetaclassesClearly.html

Evaluate code on the metaclass.

Example:

s = 'foo'; s.meta_eval { define_method(:longer) { self * 2 } }

s.longer #=> "foofoo"'

Returns: The block’s final expression.



26
27
28
# File 'lib/extra/object.rb', line 26

def meta_eval(&block)
  metaclass.instance_eval(&block)
end