Class: Thread
Instance Method Summary collapse
- #pop_resugan_context(force_invoke = false) ⇒ Object
- #push_resugan_context(namespace = '', force_invoke = false) ⇒ Object
- #resugan_context ⇒ Object
Instance Method Details
#pop_resugan_context(force_invoke = false) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/resugan/thread.rb', line 16 def pop_resugan_context(force_invoke = false) _resugan_context = @resugan_context_stack.pop @resugan_context = @resugan_context_stack.last # depending on option, only invoke if top level if !force_invoke && Resugan::Kernel.reuse_top_level_context? _resugan_context.invoke if @resugan_context_stack.find { |e| e.namespace == _resugan_context.namespace }.nil? elsif _resugan_context.invoke end _resugan_context end |
#push_resugan_context(namespace = '', force_invoke = false) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/resugan/thread.rb', line 2 def push_resugan_context(namespace = '', force_invoke = false) @resugan_context_stack ||= [] namespace = namespace.to_s if @resugan_context.nil? || !Resugan::Kernel.reuse_top_level_context? || force_invoke @resugan_context = Resugan::Context.new(namespace) elsif @resugan_context.namespace != namespace @resugan_context = (@resugan_context_stack.reverse.find { |e| e.namespace == namespace }) || Resugan::Context.new(namespace) end @resugan_context_stack << @resugan_context end |
#resugan_context ⇒ Object
30 31 32 |
# File 'lib/resugan/thread.rb', line 30 def resugan_context @resugan_context end |