Class: Modware::Stack::Middleware
- Inherits:
-
Object
- Object
- Modware::Stack::Middleware
- Defined in:
- lib/modware/stack.rb
Instance Attribute Summary collapse
-
#_modware_next ⇒ Object
Returns the value of attribute _modware_next.
Instance Method Summary collapse
- #_modware_call(env, base_implementation) ⇒ Object
- #_modware_continue(env, base_implementation) ⇒ Object
-
#initialize(executor, mod) ⇒ Middleware
constructor
A new instance of Middleware.
Constructor Details
#initialize(executor, mod) ⇒ Middleware
Returns a new instance of Middleware.
70 71 72 73 |
# File 'lib/modware/stack.rb', line 70 def initialize(executor, mod) @executor = executor singleton_class.send :include, mod end |
Instance Attribute Details
#_modware_next ⇒ Object
Returns the value of attribute _modware_next.
68 69 70 |
# File 'lib/modware/stack.rb', line 68 def _modware_next @_modware_next end |
Instance Method Details
#_modware_call(env, base_implementation) ⇒ Object
75 76 77 78 79 80 81 82 83 |
# File 'lib/modware/stack.rb', line 75 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) ⇒ Object
85 86 87 88 89 90 91 |
# File 'lib/modware/stack.rb', line 85 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 |