Class: Faraday::RackBuilder::Handler
- Defined in:
 - lib/puppet/feature/faraday/rack_builder.rb
 
Overview
borrowed from ActiveSupport::Dependencies::Reference & ActionDispatch::MiddlewareStack::Middleware
Constant Summary collapse
- @@constants_mutex =
 Mutex.new
- @@constants =
 Hash.new { |h, k| value = k.respond_to?(:constantize) ? k.constantize : Object.const_get(k) @@constants_mutex.synchronize { h[k] = value } }
Instance Attribute Summary collapse
- 
  
    
      #name  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute name.
 
Instance Method Summary collapse
- #==(other) ⇒ Object
 - #build(app) ⇒ Object
 - 
  
    
      #initialize(klass, *args, &block)  ⇒ Handler 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of Handler.
 - #inspect ⇒ Object
 - #klass ⇒ Object
 
Constructor Details
#initialize(klass, *args, &block) ⇒ Handler
Returns a new instance of Handler.
      26 27 28 29 30 31 32  | 
    
      # File 'lib/puppet/feature/faraday/rack_builder.rb', line 26 def initialize(klass, *args, &block) @name = klass.to_s if klass.respond_to?(:name) @@constants_mutex.synchronize { @@constants[@name] = klass } end @args, @block = args, block end  | 
  
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
      24 25 26  | 
    
      # File 'lib/puppet/feature/faraday/rack_builder.rb', line 24 def name @name end  | 
  
Instance Method Details
#==(other) ⇒ Object
      37 38 39 40 41 42 43 44 45  | 
    
      # File 'lib/puppet/feature/faraday/rack_builder.rb', line 37 def ==(other) if other.is_a? Handler self.name == other.name elsif other.respond_to? :name klass == other else @name == other.to_s end end  | 
  
#build(app) ⇒ Object
      47 48 49  | 
    
      # File 'lib/puppet/feature/faraday/rack_builder.rb', line 47 def build(app) klass.new(app, *@args, &@block) end  | 
  
#inspect ⇒ Object
      35  | 
    
      # File 'lib/puppet/feature/faraday/rack_builder.rb', line 35 def inspect() @name end  | 
  
#klass ⇒ Object
      34  | 
    
      # File 'lib/puppet/feature/faraday/rack_builder.rb', line 34 def klass() @@constants[@name] end  |