class Modware::Stack::Middleware

Attributes

_modware_next[RW]

Public Class Methods

new(executor, mod) click to toggle source
# File lib/modware/stack.rb, line 65
def initialize(executor, mod)
  @executor = executor
  singleton_class.send :include, mod
end

Public Instance Methods

_modware_call(env, base_implementation) click to toggle source
# File lib/modware/stack.rb, line 70
def _modware_call(env, base_implementation)
  if respond_to? :around
    around(env) { |env|
      _modware_continue env, base_implementation
    }
  else
    _modware_continue env, base_implementation
  end
end
_modware_continue(env, base_implementation) click to toggle source
# File lib/modware/stack.rb, line 80
def _modware_continue(env, base_implementation)
  if self._modware_next
    self._modware_next._modware_call(env, base_implementation)
  else
    @executor.call_implementation env, base_implementation
  end
end