module Transifex::Request

Public Instance Methods

connection() click to toggle source
# File lib/transifex/request.rb, line 11
def connection
  @connection ||= make_connection(@username, @password)
end
get(path, params = {}) click to toggle source
# File lib/transifex/request.rb, line 15
def get(path, params = {})
  response = connection.get(build_path(:v2, path), params)
  response.body
end
set_credentials(username, password) click to toggle source
# File lib/transifex/request.rb, line 6
def set_credentials(username, password)
  @username = username
  @password = password
end

Private Instance Methods

build_path(version, path) click to toggle source
# File lib/transifex/request.rb, line 22
def build_path(version, path)
  "/api/2/#{path}"
end
make_connection(username, password) click to toggle source
# File lib/transifex/request.rb, line 26
def make_connection(username, password)
  options = {
    headers: {
      'Accept' => 'application/json',
      'User-Agent' => Transifex::Config::USER_AGENT,
    },
    url: Transifex::Config::BASE_URL
  }

  Faraday.new(options) do |builder|
    builder.use FaradayMiddleware::Mashify
    builder.use Faraday::Response::ParseJson, :content_type => /\bjson$/
    builder.use Transifex::Response::RaiseHttpException

    # Authentiation
    builder.basic_auth(username, password)

    # Request Middleware
    builder.use Faraday::Request::Multipart
    builder.use Faraday::Request::UrlEncoded

    builder.adapter :net_http
  end
end