class Modware::Stack

Public Class Methods

new(env:) click to toggle source
# File lib/modware/stack.rb, line 5
def initialize(env:)
  @env_klass = case env
               when Class then env
               else KeyStruct[*env]
               end
  @middleware_mods = []
end

Public Instance Methods

add(mod) click to toggle source
# File lib/modware/stack.rb, line 13
def add(mod)
  @middleware_mods << mod
end
start(*args, &base_implementation) click to toggle source
# File lib/modware/stack.rb, line 17
def start(*args, &base_implementation)
  env = @env_klass.new(*args)
  Executor.new(@middleware_mods).execute(env, base_implementation)
  env
end