module Tins::Scope

Public Instance Methods

scope(name = :default) click to toggle source
# File lib/tins/dslkit.rb, line 620
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 608
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 616
def scope_get(name = :default)
  Thread.current[name] ||= []
end
scope_pop(name = :default) click to toggle source
# File lib/tins/dslkit.rb, line 594
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 589
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 604
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 600
def scope_top(name = :default)
  scope_get(name).last
end