module Faraday::DependencyLoader

DependencyLoader helps Faraday adapters and middleware load dependencies.

Attributes

load_error[RW]

Public Instance Methods

dependency(lib = nil) { || ... } click to toggle source

Executes a block which should try to require and reference dependent libraries

# File lib/faraday/dependency_loader.rb, line 10
def dependency(lib = nil)
  lib ? require(lib) : yield
rescue LoadError, NameError => e
  self.load_error = e
end
inherited(subclass) click to toggle source
Calls superclass method
# File lib/faraday/dependency_loader.rb, line 28
def inherited(subclass)
  super
  subclass.send(:load_error=, load_error)
end
loaded?() click to toggle source
# File lib/faraday/dependency_loader.rb, line 24
def loaded?
  load_error.nil?
end
new(*) click to toggle source
Calls superclass method
# File lib/faraday/dependency_loader.rb, line 16
def new(*)
  unless loaded?
    raise "missing dependency for #{self}: #{load_error.message}"
  end

  super
end