module Tins::Scope
Public Instance Methods
scope(name = :default)
click to toggle source
# File lib/tins/dslkit.rb, line 573 def scope(name = :default) scope_get(name).dup end
scope_block(scope_frame, name = :default) { || ... }
click to toggle source
# File lib/tins/dslkit.rb, line 561 def scope_block(scope_frame, name = :default) scope_push(scope_frame, name) yield self ensure scope_pop(name) end
scope_get(name = :default)
click to toggle source
# File lib/tins/dslkit.rb, line 569 def scope_get(name = :default) Thread.current[name] ||= [] end
scope_pop(name = :default)
click to toggle source
# File lib/tins/dslkit.rb, line 547 def scope_pop(name = :default) scope_get(name).pop scope_get(name).empty? and Thread.current[name] = nil self end
scope_push(scope_frame, name = :default)
click to toggle source
# File lib/tins/dslkit.rb, line 542 def scope_push(scope_frame, name = :default) scope_get(name).push scope_frame self end
scope_reverse(name = :default, &block)
click to toggle source
# File lib/tins/dslkit.rb, line 557 def scope_reverse(name = :default, &block) scope_get(name).reverse_each(&block) end
scope_top(name = :default)
click to toggle source
# File lib/tins/dslkit.rb, line 553 def scope_top(name = :default) scope_get(name).last end