module HTTPI::Adapter
HTTPI::Adapter¶ ↑
Manages the adapter classes. Currently supports:
-
httpclient
-
curb
-
net/http
Constants
- ADAPTERS
- LOAD_ORDER
Public Class Methods
load(adapter)
click to toggle source
# File lib/httpi/adapter.rb, line 38 def load(adapter) adapter = adapter ? validate_adapter!(adapter) : use [adapter, ADAPTERS[adapter][:class]] end
use()
click to toggle source
# File lib/httpi/adapter.rb, line 34 def use @adapter ||= default_adapter end
use=(adapter)
click to toggle source
# File lib/httpi/adapter.rb, line 26 def use=(adapter) return @adapter = nil if adapter.nil? validate_adapter! adapter load_adapter adapter @adapter = adapter end
Private Class Methods
default_adapter()
click to toggle source
# File lib/httpi/adapter.rb, line 50 def default_adapter LOAD_ORDER.each do |adapter| begin load_adapter adapter return adapter rescue LoadError next end end end
load_adapter(adapter)
click to toggle source
# File lib/httpi/adapter.rb, line 61 def load_adapter(adapter) require ADAPTERS[adapter][:require] end
validate_adapter!(adapter)
click to toggle source
# File lib/httpi/adapter.rb, line 45 def validate_adapter!(adapter) raise ArgumentError, "Invalid HTTPI adapter: #{adapter}" unless ADAPTERS[adapter] adapter end