lib/resugan/object.rb in resugan-0.1.13 vs lib/resugan/object.rb in resugan-0.1.14
- old
+ new
@@ -1,13 +1,25 @@
class Object
def resugan(namespace = '', &block)
+ namespace ||= ''
current_thread = Thread.current
current_thread.push_resugan_context(namespace)
begin
block.call
ensure
context = current_thread.pop_resugan_context
- context.invoke
+ end
+ context
+ end
+
+ def resugan!(namespace = '', &block)
+ namespace ||= ''
+ current_thread = Thread.current
+ current_thread.push_resugan_context(namespace, true)
+ begin
+ block.call
+ ensure
+ context = current_thread.pop_resugan_context(true)
end
context
end
def _fire(event, params = {})