module Tins::Scope
Public Instance Methods
Source
# File lib/tins/dslkit.rb, line 592 def scope(name = :default) scope_get(name).dup end
Source
# File lib/tins/dslkit.rb, line 581 def scope_block(scope_frame, name = :default) scope_push(scope_frame, name) yield ensure scope_pop(name) end
Source
# File lib/tins/dslkit.rb, line 588 def scope_get(name = :default) Thread.current[name] ||= [] end
Source
# File lib/tins/dslkit.rb, line 567 def scope_pop(name = :default) scope_get(name).pop scope_get(name).empty? and Thread.current[name] = nil self end
Source
# File lib/tins/dslkit.rb, line 562 def scope_push(scope_frame, name = :default) scope_get(name).push scope_frame self end
Source
# File lib/tins/dslkit.rb, line 577 def scope_reverse(name = :default, &block) scope_get(name).reverse_each(&block) end
Source
# File lib/tins/dslkit.rb, line 573 def scope_top(name = :default) scope_get(name).last end