Module: HTTPI::Adapter
- Defined in:
- lib/cs-httpi/adapter.rb,
lib/cs-httpi/adapter/curb.rb,
lib/cs-httpi/adapter/net_http.rb,
lib/cs-httpi/adapter/httpclient.rb
Overview
HTTPI::Adapter
Manages the adapter classes. Currently supports:
Defined Under Namespace
Classes: Curb, HTTPClient, NetHTTP
Constant Summary
collapse
- ADAPTERS =
{
:httpclient => { :class => HTTPClient, :require => "httpclient" },
:curb => { :class => Curb, :require => "curb" },
:net_http => { :class => NetHTTP, :require => "net/https" }
}
- LOAD_ORDER =
[:httpclient, :curb, :net_http]
Class Method Summary
collapse
Class Method Details
.load(adapter) ⇒ Object
38
39
40
41
|
# File 'lib/cs-httpi/adapter.rb', line 38
def load(adapter)
adapter = adapter ? validate_adapter!(adapter) : use
[adapter, ADAPTERS[adapter][:class]]
end
|
.use ⇒ Object
34
35
36
|
# File 'lib/cs-httpi/adapter.rb', line 34
def use
@adapter ||= default_adapter
end
|
.use=(adapter) ⇒ Object
26
27
28
29
30
31
32
|
# File 'lib/cs-httpi/adapter.rb', line 26
def use=(adapter)
return @adapter = nil if adapter.nil?
validate_adapter! adapter
load_adapter adapter
@adapter = adapter
end
|