Sha256: 329833e25b0e03dfc87af1f8001028127e99ba6785018225f16693195687e68b
Contents?: true
Size: 605 Bytes
Versions: 1
Compression:
Stored size: 605 Bytes
Contents
class Decorator attr_reader :object # doctest: A Decorator should be initialized with thr decorated object. # >> object = Object.new # >> decorator = Decorator.new(object) # >> decorator.object == object # => true def initialize(object) @object = object end def method_missing(method, *args) @object.send(method, *args) end end class Class def decorator(decorator_class) old_new = self.method(:new) (class << self; self; end).send(:define_method, :new) do |*args| object = old_new.call(*args) decorator_class.new(object) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
armin-joellenbeck-rdbc-0.0.6 | lib/decorator.rb |