Module: FaradayStack
- Extended by:
- Faraday::AutoloadHelper, Forwardable
- Defined in:
- lib/faraday_stack.rb,
lib/faraday_stack/caching.rb,
lib/faraday_stack/response_xml.rb,
lib/faraday_stack/response_html.rb,
lib/faraday_stack/response_json.rb,
lib/faraday_stack/instrumentation.rb,
lib/faraday_stack/rack_compatible.rb,
lib/faraday_stack/follow_redirects.rb,
lib/faraday_stack/response_middleware.rb
Defined Under Namespace
Classes: Caching, FollowRedirects, Instrumentation, RackCompatible, RedirectLimitReached, ResponseHTML, ResponseJSON, ResponseMiddleware, ResponseXML
Class Attribute Summary collapse
-
.default_connection ⇒ Object
THE ÜBER STACK.
Class Method Summary collapse
Class Attribute Details
.default_connection ⇒ Object
THE ÜBER STACK
20 21 22 |
# File 'lib/faraday_stack.rb', line 20 def self.default_connection @default_connection ||= self.build end |
Class Method Details
.build(url = nil, options = {}) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/faraday_stack.rb', line 30 def self.build(url = nil, = {}) klass = nil if url.is_a?(Hash) then = url.dup elsif url.is_a?(Class) then klass = url else = .merge(:url => url) end klass ||= .delete(:class) || Faraday::Connection klass.new() do |builder| builder.request :url_encoded builder.request :json yield builder if block_given? builder.use ResponseXML, :content_type => /[+\/]xml$/ builder.use ResponseHTML, :content_type => 'text/html' builder.use ResponseJSON, :content_type => /[+\/]json$/ builder.use ResponseJSON::MimeTypeFix, :content_type => /text\/(plain|javascript)/ builder.use FollowRedirects builder.response :raise_error builder.adapter Faraday.default_adapter end end |