Sha256: f9ebd62fc81b717c9c4898d98988b070534c0a8116ace5e05919f2c2c887729f

Contents?: true

Size: 1.02 KB

Versions: 2

Compression:

Stored size: 1.02 KB

Contents

# frozen_string_literal: true

module Dynflow
  class Middleware
    require 'dynflow/middleware/register'
    require 'dynflow/middleware/world'
    require 'dynflow/middleware/resolver'
    require 'dynflow/middleware/stack'
    require 'dynflow/middleware/common/transaction'
    require 'dynflow/middleware/common/singleton'

    include Algebrick::TypeCheck

    def initialize(stack)
      @stack = Type! stack, Stack
    end

    # call `pass` to get deeper with the call
    def pass(*args)
      @stack.pass(*args)
    end

    # to get the action object
    def action
      @stack.action or raise "the action is not available"
    end

    def delay(*args)
      pass(*args)
    end

    def run(*args)
      pass(*args)
    end

    def plan(*args)
      pass(*args)
    end

    def finalize(*args)
      pass(*args)
    end

    def plan_phase(*args)
      pass(*args)
    end

    def finalize_phase(*args)
      pass(*args)
    end

    def present
      pass
    end

    def hook(*args)
      pass(*args)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dynflow-1.9.0 lib/dynflow/middleware.rb
dynflow-1.8.3 lib/dynflow/middleware.rb