class Suricate::Jenkins::Client
Public Class Methods
new(options = {})
click to toggle source
# File lib/suricate/jenkins/client.rb, line 6 def initialize(options = {}) @url = options[:url] @user_name = options[:user_name] @password = options[:password] end
Public Instance Methods
failed_jobs()
click to toggle source
# File lib/suricate/jenkins/client.rb, line 12 def failed_jobs jobs.select(&:failed?) end
jobs()
click to toggle source
# File lib/suricate/jenkins/client.rb, line 16 def jobs json = get('/api/json') json['jobs'].map { |job_json| build_job(job_json) } end
Private Instance Methods
build_job(json)
click to toggle source
# File lib/suricate/jenkins/client.rb, line 33 def build_job(json) Job.new(name: json['name'], url: json['url'], failed: json['color'] == 'red') end
get(path)
click to toggle source
# File lib/suricate/jenkins/client.rb, line 22 def get(path) uri = URI.parse(@url + path) response = Net::HTTP.start(uri.hostname, uri.port) do |http| request = Net::HTTP::Get.new(uri) request.basic_auth(@user_name, @password) http.request(request) end JSON.parse(response.body) end