class JSONAPI::Consumer::Connection
Attributes
faraday[R]
Public Class Methods
new(options = {}) { |self| ... }
click to toggle source
# File lib/jsonapi/consumer/connection.rb, line 6 def initialize(options = {}) site = options.fetch(:site) connection_options = options.slice(:proxy, :ssl, :request, :headers, :params) adapter_options = Array(options.fetch(:adapter, Faraday.default_adapter)) @faraday = Faraday.new(site, connection_options) do |builder| builder.request :json builder.use Middleware::JsonRequest builder.use Middleware::Status builder.use Middleware::ParseJson builder.adapter(*adapter_options) end yield(self) if block_given? end
Public Instance Methods
delete(middleware)
click to toggle source
# File lib/jsonapi/consumer/connection.rb, line 27 def delete(middleware) faraday.builder.delete(middleware) end
run(request_method, path, params = {}, headers = {})
click to toggle source
# File lib/jsonapi/consumer/connection.rb, line 31 def run(request_method, path, params = {}, headers = {}) faraday.send(request_method, path, params, headers) end
use(middleware, *args, &block)
click to toggle source
insert middleware before ParseJson - middleware executed in reverse order -
inserted middleware will run after json parsed
# File lib/jsonapi/consumer/connection.rb, line 22 def use(middleware, *args, &block) return if faraday.builder.locked? faraday.builder.insert_before(Middleware::ParseJson, middleware, *args, &block) end