class Pakyow::Support::Pipeline::Callable
@api private
Public Class Methods
new(actions, context)
click to toggle source
# File lib/pakyow/support/pipeline.rb, line 251 def initialize(actions, context) @stack = actions.map { |action| action.finalize(context) } end
Public Instance Methods
call(object, stack = @stack.dup)
click to toggle source
# File lib/pakyow/support/pipeline.rb, line 263 def call(object, stack = @stack.dup) catch :halt do until stack.empty? || object.halted? action = stack.shift if action.arity == 0 action.call do call(object, stack) end else action.call(object) do call(object, stack) end end end end object.pipelined end
initialize_copy(_)
click to toggle source
Calls superclass method
# File lib/pakyow/support/pipeline.rb, line 257 def initialize_copy(_) @stack = @stack.dup super end