class Simulacrum::Browserstack::API
The Browserstack
API
class wraps up functionality for talking to the Browserstack
REST API
.
Public Class Methods
new(username, apikey)
click to toggle source
# File lib/simulacrum/browserstack/api.rb, line 10 def initialize(username, apikey) @username = username @apikey = apikey end
Public Instance Methods
account_details()
click to toggle source
# File lib/simulacrum/browserstack/api.rb, line 15 def account_details request = request('https://www.browserstack.com/automate/plan.json') account_details = OpenStruct.new account_details.sessions_running = request['parallel_sessions_running'].to_i account_details.sessions_allowed = request['parallel_sessions_max_allowed'].to_i account_details end
Private Instance Methods
make_request(url)
click to toggle source
# File lib/simulacrum/browserstack/api.rb, line 42 def make_request(url) uri = parse_url(url) http = prepare_http(uri) request = Net::HTTP::Get.new(uri.request_uri) request.basic_auth(@username, @apikey) http.request(request) end
parse_url(url)
click to toggle source
# File lib/simulacrum/browserstack/api.rb, line 30 def parse_url(url) URI.parse(url) end
prepare_http(uri)
click to toggle source
# File lib/simulacrum/browserstack/api.rb, line 34 def prepare_http(uri) http = Net::HTTP.new(uri.host, uri.port) http.read_timeout = 30 http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_PEER http end
request(url)
click to toggle source
# File lib/simulacrum/browserstack/api.rb, line 25 def request(url) response = make_request(url) JSON.parse(response.body) end