Module: Faraday::DependencyLoader
- Included in:
- Adapter, Middleware
- Defined in:
- lib/faraday/dependency_loader.rb
Overview
DependencyLoader helps Faraday adapters and middleware load dependencies.
Instance Attribute Summary collapse
-
#load_error ⇒ Object
readonly
Returns the value of attribute load_error.
Instance Method Summary collapse
-
#dependency(lib = nil) ⇒ Object
Executes a block which should try to require and reference dependent libraries.
- #inherited(subclass) ⇒ Object
- #loaded? ⇒ Boolean
- #new ⇒ Object
Instance Attribute Details
#load_error ⇒ Object
Returns the value of attribute load_error.
6 7 8 |
# File 'lib/faraday/dependency_loader.rb', line 6 def load_error @load_error end |
Instance Method Details
#dependency(lib = nil) ⇒ Object
Executes a block which should try to require and reference dependent libraries
10 11 12 13 14 |
# 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) ⇒ Object
28 29 30 31 |
# File 'lib/faraday/dependency_loader.rb', line 28 def inherited(subclass) super subclass.send(:load_error=, load_error) end |
#loaded? ⇒ Boolean
24 25 26 |
# File 'lib/faraday/dependency_loader.rb', line 24 def loaded? load_error.nil? end |
#new ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/faraday/dependency_loader.rb', line 16 def new(*) unless loaded? raise "missing dependency for #{self}: #{load_error.}" end super end |