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 = {})
  connection.get(build_path(path), params).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(path) click to toggle source
# File lib/transifex/request.rb, line 21
def build_path(path)
  "/api/2/#{path}"
end
make_connection(username, password) click to toggle source
# File lib/transifex/request.rb, line 25
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$/

    # Authentiation
    builder.basic_auth(username, password)

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

    builder.adapter :net_http
  end
end