Class: CBTRUBY::CbtClient
- Inherits:
-
Object
- Object
- CBTRUBY::CbtClient
- Defined in:
- lib/cbt_ruby.rb
Overview
Core class for the gem.
Defined Under Namespace
Classes: BaseBrowserQuery, Browser, Browsers, ScreenshotBrowserQuery, ScreenshotHistory, ScreenshotInfo, ScreenshotTest, ScreenshotVersionInfo, SeleniumBrowserQuery
Instance Method Summary collapse
-
#basic_request(url:, reqMethod: 'get', data: nil) ⇒ Object
Base for making API requests Returns a hash table.
-
#initialize(username, authkey) ⇒ CbtClient
constructor
Initialize the CBT client object using username and authkey.
Constructor Details
#initialize(username, authkey) ⇒ CbtClient
Initialize the CBT client object using username and authkey
13 14 15 16 |
# File 'lib/cbt_ruby.rb', line 13 def initialize(username, authkey) @username = username @authkey = authkey end |
Instance Method Details
#basic_request(url:, reqMethod: 'get', data: nil) ⇒ Object
Base for making API requests Returns a hash table
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/cbt_ruby.rb', line 20 def basic_request(url:, reqMethod: 'get', data: nil) uri = URI.parse(CBT_API + url) # Set request method case reqMethod when 'post' request = Net::HTTP::Post.new(uri) request.set_form_data(data) when 'get' uri.query = URI.encode_www_form(data) unless data.nil? request = Net::HTTP::Get.new(uri) end request.basic_auth(@username, @authkey) = { use_ssl: uri.scheme == 'https' } response = Net::HTTP.start(uri.hostname, uri.port, ) do |http| http.request(request) end if response.code == '200' return JSON.parse(response.body) else puts response.code puts response.body abort('Invalid Response') end end |