class Transistor::Client

Public Instance Methods

connection_options() click to toggle source
# File lib/transistor/client.rb, line 8
def connection_options
  @collection_options ||= {
    builder: middleware,
    headers: {
      accept: 'application/json',
      user_agent: Transistor.config.user_agent
    },
    request: {
      open_timeout: 5,
      timeout: 10
    }
  }
end
delete(path, params = {}) click to toggle source
# File lib/transistor/client.rb, line 30
def delete(path, params = {})
  request(:delete, path, params)
end
get(path, params = {}) click to toggle source
# File lib/transistor/client.rb, line 34
def get(path, params = {})
  request(:get, path, params)
end
middleware() click to toggle source
# File lib/transistor/client.rb, line 22
def middleware
  @middleware = Faraday::Builder.new do |builder|
    builder.use Faraday::Request::UrlEncoded
    builder.use Transistor::Middleware::Authentication
    builder.adapter Faraday.default_adapter
  end
end
post(path, params = {}) click to toggle source
# File lib/transistor/client.rb, line 38
def post(path, params = {})
  request(:post, path, params)
end
put(path, params = {}) click to toggle source
# File lib/transistor/client.rb, line 42
def put(path, params = {})
  request(:put, path, params)
end

Private Instance Methods

connection() click to toggle source
# File lib/transistor/client.rb, line 48
def connection
  @connection ||= Faraday.new Transistor.config.base_url, connection_options do |conn|
    conn.response :json, content_type: /\bjson$/
  end
end
request(method, path, params = {}) click to toggle source
# File lib/transistor/client.rb, line 54
def request(method, path, params = {})
  response = connection.send(method.to_sym, path, params) do |request|
  end
  response.env
rescue Faraday::Error::ClientError => error
  raise Transistor::Error.new(err)
end