Sha256: 119a2dfc0c61a3e556c7cc3c686bc65ae5ac32a2e5e3ae685f5404186a8a42d5
Contents?: true
Size: 610 Bytes
Versions: 1
Compression:
Stored size: 610 Bytes
Contents
# frozen_string_literal: true module Shrek class Runner attr_reader :layers, :options def initialize(*layers, **options) @options = options parse_layers!(*layers) end def call(*args) chain.call(*args) end private def chain layers.reverse.inject(self_return) { |inner, outer| outer.new(inner) } end def parse_layers!(*layers) # now we use all args as layers, but in future maybe will be convenient # to add registry? @layers = layers end def self_return options[:self_return] || EMPTY_RETURN end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
shrek-0.2.2 | lib/shrek/runner.rb |