Module: Tins::Eigenclass
- Included in:
- Object, ClassMethod
- Defined in:
- lib/tins/dslkit.rb
Overview
This module contains some handy methods to deal with eigenclasses. Those are also known as virtual classes, singleton classes, metaclasses, plus all the other names Matz doesn’t like enough to actually accept one of the names.
The module can be included into other modules/classes to make the methods available.
Instance Method Summary collapse
-
#eigenclass_class_eval { ... } ⇒ Object
Evaluates the block in context of the eigenclass’s class context.
-
#eigenclass_eval {|obj| ... } ⇒ Object
Evaluates the block in context of the eigenclass of this object.
Instance Method Details
#eigenclass_class_eval { ... } ⇒ Object
Evaluates the block in context of the eigenclass’s class context.
This method allows you to define class methods on the eigenclass itself, which is different from eigenclass_eval
that defines singleton methods on the object instance.
64 65 66 |
# File 'lib/tins/dslkit.rb', line 64 def eigenclass_class_eval(&block) eigenclass.class_eval(&block) end |
#eigenclass_eval {|obj| ... } ⇒ Object
Evaluates the block in context of the eigenclass of this object.
This method allows you to define singleton methods or access singleton class methods directly on an object.
42 43 44 |
# File 'lib/tins/dslkit.rb', line 42 def eigenclass_eval(&block) eigenclass.instance_eval(&block) end |