class Multicolor::REST::Transport

Attributes

client[R]
config[R]

Public Class Methods

new(config) click to toggle source
# File lib/multicolor/rest/transport.rb, line 16
def initialize(config)
  @config = config

  @client = Faraday.new(url: url) do |conn|
    conn.request  :multipart
    conn.request  :url_encoded
    conn.response :json
    conn.adapter  :net_http

    conn.use Faraday::Response::RaiseError

    conn.options[:timeout]      = config.timeout
    conn.options[:open_timeout] = config.open_timeout

    conn.basic_auth(config.username, config.password) if config.authenticate?
  end
end

Private Instance Methods

api_path(endpoint) click to toggle source
# File lib/multicolor/rest/transport.rb, line 48
def api_path(endpoint)
  raise Multicolor::Errors::CompanyNotSet if company.nil?
  "#{company}/rest/#{endpoint}"
end
get(endpoint, params = {}, &block) click to toggle source
# File lib/multicolor/rest/transport.rb, line 36
def get(endpoint, params = {}, &block)
  client.get(api_path(endpoint), params, &block)
end
post(endpoint, params = {}, &block) click to toggle source
# File lib/multicolor/rest/transport.rb, line 40
def post(endpoint, params = {}, &block)
  client.post(api_path(endpoint), params, &block)
end
url() click to toggle source
# File lib/multicolor/rest/transport.rb, line 44
def url
  "http://multicolorengine.tineye.com"
end