Module: Instantiable
- Defined in:
- lib/mixers/instantiable.rb
Overview
Instantiable
Initialize modules, almost as if they were classes.
Alows a module to be used much like a class, by defining a #new method that creates a class on demand.
Class Method Summary collapse
Instance Method Summary collapse
-
#new(*args, &blk) ⇒ Object
Never use a class agian! ;).
Class Method Details
.append_features(mod) ⇒ Object
10 11 12 |
# File 'lib/mixers/instantiable.rb', line 10 def self.append_features(mod) mod.extend self end |
Instance Method Details
#new(*args, &blk) ⇒ Object
Never use a class agian! ;)
16 17 18 19 20 |
# File 'lib/mixers/instantiable.rb', line 16 def new(*args,&blk) mod = self @instantiable_class ||= Class.new{include mod} @instantiable_class.new(*args,&blk) end |