class Object
Public Instance Methods
deco(meth, &user_block)
click to toggle source
# File lib/deco.rb, line 2 def deco(meth, &user_block) m = instance_method(meth) Thread.current[:__deco_stack__] ||= [] define_method(meth) do |*args, &block| Thread.current[:__deco_stack__].push(m.bind(self)) user_block.call *args, &block end end
deco_super(*args, &block)
click to toggle source
# File lib/deco.rb, line 13 def deco_super(*args, &block) Thread.current[:__deco_stack__].pop.call(*args, &block) end