Top Level Namespace
Instance Method Summary collapse
Instance Method Details
#deco(meth, &user_block) ⇒ Object
2 3 4 5 6 7 8 9 10 11 |
# 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) ⇒ Object
13 14 15 |
# File 'lib/deco.rb', line 13 def deco_super(*args, &block) Thread.current[:__deco_stack__].pop.call(*args, &block) end |