Class: ConvenientService::Support::Middleware::StackBuilder::Entities::Builders::Rack
- Inherits:
-
Custom
- Object
- Custom
- ConvenientService::Support::Middleware::StackBuilder::Entities::Builders::Rack
- Defined in:
- lib/convenient_service/support/middleware/stack_builder/entities/builders/rack.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.
Methods inherited from Custom
#==, #clear, #delete, #dup, #empty?, #has?, #initialize, #insert, #insert_after, #insert_after_each, #insert_before_each, #replace, #to_a, #unshift, #use
Methods included from AbstractMethod
Constructor Details
This class inherits a constructor from ConvenientService::Support::Middleware::StackBuilder::Entities::Builders::Custom
Instance Method Details
#call(env) ⇒ Object
Returns Can be any type.
40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/convenient_service/support/middleware/stack_builder/entities/builders/rack.rb', line 40 def call(env) return env if stack.empty? app = stack .map { |middleware| proc { |app| middleware.new(app) } } .reverse .reduce(Custom::Constants::INITIAL_MIDDLEWARE) { |a, e| e[a] } app.call(env) end |
#call_with_original(env, original) ⇒ Object
Returns Can be any type.
23 24 25 |
# File 'lib/convenient_service/support/middleware/stack_builder/entities/builders/rack.rb', line 23 def call_with_original(env, original) dup.use(Custom::Entities::ProcWithNew.new(original)).call(env) end |