+++ /dev/null
-module Faraday
- class Middleware
- extend MiddlewareRegistry
-
- class << self
- attr_accessor :load_error
- private :load_error=
- end
-
- self.load_error = nil
-
- # Executes a block which should try to require and reference dependent libraries
- def self.dependency(lib = nil)
- lib ? require(lib) : yield
- rescue LoadError, NameError => error
- self.load_error = error
- end
-
- def self.new(*)
- raise "missing dependency for #{self}: #{load_error.message}" unless loaded?
- super
- end
-
- def self.loaded?
- load_error.nil?
- end
-
- def self.inherited(subclass)
- super
- subclass.send(:load_error=, self.load_error)
- end
-
- def initialize(app = nil)
- @app = app
- end
- end
-end