Class: ConvenientService::Support::Middleware::StackBuilder::Entities::Builders::Stateful
- Inherits:
-
Custom
- Object
- Custom
- ConvenientService::Support::Middleware::StackBuilder::Entities::Builders::Stateful
- Defined in:
- lib/convenient_service/support/middleware/stack_builder/entities/builders/stateful.rb
Instance Attribute Summary
Attributes inherited from Custom
Instance Method Summary collapse
-
#call(env) ⇒ Object
Can be any type.
-
#call_with_original(env, original) ⇒ Object
Can be any type.
- #initialize(**kwargs) ⇒ void constructor
Methods inherited from Custom
#==, #clear, #delete, #dup, #empty?, #has?, #insert, #insert_after, #insert_after_each, #insert_before_each, #replace, #to_a, #unshift, #use
Methods included from AbstractMethod
Constructor Details
#initialize(**kwargs) ⇒ void
19 20 21 22 23 |
# File 'lib/convenient_service/support/middleware/stack_builder/entities/builders/stateful.rb', line 19 def initialize(**kwargs) super @index = -1 end |
Instance Method Details
#call(env) ⇒ Object
Returns Can be any type.
48 49 50 51 52 53 54 55 56 |
# File 'lib/convenient_service/support/middleware/stack_builder/entities/builders/stateful.rb', line 48 def call(env) self.index += 1 return env if index == stack.size stack[index].new(self).call(env) ensure self.index = -1 end |
#call_with_original(env, original) ⇒ Object
Returns Can be any type.
33 34 35 |
# File 'lib/convenient_service/support/middleware/stack_builder/entities/builders/stateful.rb', line 33 def call_with_original(env, original) dup.use(Custom::Entities::ProcWithNew.new(original)).call(env) end |