Class: GraphQL::Schema::MiddlewareChain
- Inherits:
- 
      Object
      
        - Object
- GraphQL::Schema::MiddlewareChain
 
- Extended by:
- Forwardable
- Defined in:
- lib/graphql/schema/middleware_chain.rb
Overview
Given #steps and arguments, call steps in order, passing (*arguments, next_step).
Steps should call next_step.call to continue the chain, or not call it to stop the chain.
Defined Under Namespace
Classes: MiddlewareWrapper
Instance Attribute Summary collapse
- 
  
    
      #final_step  ⇒ Array<#call(*args)> 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Steps in this chain, will be called with arguments and next_middleware.
- 
  
    
      #steps  ⇒ Array<#call(*args)> 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Steps in this chain, will be called with arguments and next_middleware.
Instance Method Summary collapse
- 
  
    
      #<<(callable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
- 
  
    
      #==(other)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
- 
  
    
      #concat(callables)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
- 
  
    
      #initialize(steps: [], final_step: nil)  ⇒ MiddlewareChain 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of MiddlewareChain. 
- 
  
    
      #initialize_copy(other)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
- 
  
    
      #invoke(arguments)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
- 
  
    
      #push(callable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Constructor Details
#initialize(steps: [], final_step: nil) ⇒ MiddlewareChain
Returns a new instance of MiddlewareChain.
| 13 14 15 16 | # File 'lib/graphql/schema/middleware_chain.rb', line 13 def initialize(steps: [], final_step: nil) @steps = steps @final_step = final_step end | 
Instance Attribute Details
#final_step ⇒ Array<#call(*args)> (readonly)
Returns Steps in this chain, will be called with arguments and next_middleware.
| 11 12 13 | # File 'lib/graphql/schema/middleware_chain.rb', line 11 def final_step @final_step end | 
#steps ⇒ Array<#call(*args)> (readonly)
Returns Steps in this chain, will be called with arguments and next_middleware.
| 11 12 13 | # File 'lib/graphql/schema/middleware_chain.rb', line 11 def steps @steps end | 
Instance Method Details
#<<(callable) ⇒ Object
| 25 26 27 | # File 'lib/graphql/schema/middleware_chain.rb', line 25 def <<(callable) add_middleware(callable) end | 
#==(other) ⇒ Object
| 33 34 35 | # File 'lib/graphql/schema/middleware_chain.rb', line 33 def ==(other) steps == other.steps && final_step == other.final_step end | 
#concat(callables) ⇒ Object
| 41 42 43 | # File 'lib/graphql/schema/middleware_chain.rb', line 41 def concat(callables) callables.each { |c| add_middleware(c) } end | 
#initialize_copy(other) ⇒ Object
| 18 19 20 21 | # File 'lib/graphql/schema/middleware_chain.rb', line 18 def initialize_copy(other) super @steps = other.steps.dup end | 
#invoke(arguments) ⇒ Object
| 37 38 39 | # File 'lib/graphql/schema/middleware_chain.rb', line 37 def invoke(arguments) invoke_core(0, arguments) end | 
#push(callable) ⇒ Object
| 29 30 31 | # File 'lib/graphql/schema/middleware_chain.rb', line 29 def push(callable) add_middleware(callable) end |