Sha256: 7eec62aaf4c603a758b5a84c554135ef46442f96b5559bc30417fbef112bdeae
Contents?: true
Size: 964 Bytes
Versions: 1
Compression:
Stored size: 964 Bytes
Contents
module JsonApiClient class Connection attr_reader :faraday def initialize(options = {}) site = options.fetch(:site) @faraday = Faraday.new(site) do |builder| builder.request :json builder.use Middleware::JsonRequest builder.use Middleware::Status builder.use Middleware::ParseJson builder.adapter Faraday.default_adapter end yield(self) if block_given? end # insert middleware before ParseJson - middleware executed in reverse order - # inserted middleware will run after json parsed def use(middleware, *args, &block) return if faraday.builder.locked? faraday.builder.insert_before(Middleware::ParseJson, middleware, *args, &block) end def delete(middleware) faraday.builder.delete(middleware) end def run(request_method, path, params = {}, headers = {}) faraday.send(request_method, path, params, headers) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
json_api_client-1.0.0.beta | lib/json_api_client/connection.rb |