class Ribbon::Plugins::BlockStack
Attributes
scope[RW]
Public Class Methods
new(scope=nil)
click to toggle source
# File lib/ribbon/plugins/block_stack.rb, line 5 def initialize(scope=nil) @scope = scope @_stack = [] end
Public Instance Methods
call(*args)
click to toggle source
# File lib/ribbon/plugins/block_stack.rb, line 20 def call(*args) @_stack.reverse_each { |block| if scope scope.instance_exec(*args, &block) else block.call(*args) end } end
dup()
click to toggle source
# File lib/ribbon/plugins/block_stack.rb, line 10 def dup BlockStack.new.tap { |stack| @_stack.each { |block| stack.push(&block) } } end
push(&block)
click to toggle source
# File lib/ribbon/plugins/block_stack.rb, line 16 def push(&block) @_stack.push(block) end