Class: Object
- Inherits:
- BasicObject
- Defined in:
- lib/meta.rb
Overview
A set of methods to help create meta-programming gizmos.
Instance Method Summary collapse
-
#class_def(name, &blk) ⇒ Object
Defines an instance method within a class.
-
#meta_def(name, &blk) ⇒ Object
Adds methods to a metaclass.
-
#meta_eval(&blk) ⇒ Object
Evaluates the block in the context of the metaclass.
-
#meta_include(mod) ⇒ Object
Acts like an include except it adds the module’s methods to the metaclass so they act like class methods.
-
#metaclass ⇒ Object
The metaclass is the singleton behind every object.
Instance Method Details
#class_def(name, &blk) ⇒ Object
Defines an instance method within a class
29 30 31 |
# File 'lib/meta.rb', line 29 def class_def name, &blk class_eval { define_method name, &blk } end |
#meta_def(name, &blk) ⇒ Object
Adds methods to a metaclass
24 25 26 |
# File 'lib/meta.rb', line 24 def name, &blk { define_method name, &blk } end |
#meta_eval(&blk) ⇒ Object
Evaluates the block in the context of the metaclass
11 12 13 |
# File 'lib/meta.rb', line 11 def (&blk) .instance_eval(&blk) end |
#meta_include(mod) ⇒ Object
Acts like an include except it adds the module’s methods to the metaclass so they act like class methods.
17 18 19 20 21 |
# File 'lib/meta.rb', line 17 def mod do include mod end end |
#metaclass ⇒ Object
The metaclass is the singleton behind every object.
4 5 6 7 8 |
# File 'lib/meta.rb', line 4 def class << self self end end |