class Shrek::Runner
Attributes
layers[R]
options[R]
Public Class Methods
new(*layers, **options)
click to toggle source
# File lib/shrek/runner.rb, line 7 def initialize(*layers, **options) @options = options parse_layers!(*layers) end
Public Instance Methods
call(*args)
click to toggle source
# File lib/shrek/runner.rb, line 12 def call(*args) chain.call(*args) end
Private Instance Methods
chain()
click to toggle source
# File lib/shrek/runner.rb, line 18 def chain layers.reverse.inject(self_return) { |inner, outer| outer.new(inner) } end
parse_layers!(*layers)
click to toggle source
# File lib/shrek/runner.rb, line 22 def parse_layers!(*layers) # now we use all args as layers, but in future maybe will be convenient # to add registry? @layers = layers end
self_return()
click to toggle source
# File lib/shrek/runner.rb, line 28 def self_return options[:self_return] || EMPTY_RETURN end