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.
Public Class Methods
append_features(mod)click to toggle source
# File lib/facets/instantiable.rb, line 10defself.append_features(mod)
mod.extendselfend
Public Instance Methods
new(*args,&blk)click to toggle source
Never use a class again! ;)
# File lib/facets/instantiable.rb, line 16defnew(*args,&blk)
mod = self@instantiable_class||=Class.new{includemod}
@instantiable_class.new(*args,&blk)
end