class Sauce::Client

The module that brokers most communication with Sauce Labs’ REST API

Attributes

api_path[RW]
api_url[RW]
api_version[RW]
client[RW]
host[RW]
ip[RW]
jobs[RW]
port[RW]
protocol[RW]

Public Class Methods

new(options={}) click to toggle source
# File lib/sauce/client.rb, line 14
def initialize(options={})
  config = Sauce::Config.new

  @protocol   = options[:protocol] || "http"
  @host       = options[:host] || "saucelabs.com"
  @port       = options[:port] || 80
  @api_path   = options[:api_path] || "rest"
  @api_version= options[:api_version] || 1

  raise MisconfiguredError if config.username.nil? or config.access_key.nil?
  @api_url = "#{@protocol}://#{config.username}:#{config.access_key}@#{@host}:#{@port}/#{@api_path}/v#{@api_version}/#{config.username}/"
  @client = RestClient::Resource.new @api_url

  @jobs = Sauce::Job
  @jobs.client = @client
  @jobs.account = {
    :username => config.username,
    :access_key => config.access_key,
    :ip => @ip
  }
end

Public Instance Methods

[](url) click to toggle source
# File lib/sauce/client.rb, line 36
def [](url)
  @client[url]
end