class Steward::Client

Attributes

api_key[RW]

Public Class Methods

new(api_key) click to toggle source
# File lib/steward/client.rb, line 11
def initialize(api_key)
  self.api_key = api_key
end

Public Instance Methods

job(job, &block) click to toggle source
# File lib/steward/client.rb, line 27
def job(job, &block)
  job_started(job)
  block.call
  job_ended(job)
rescue Exception => e
  job_failed(job)
  raise e
end
job_ended(job) click to toggle source
# File lib/steward/client.rb, line 19
def job_ended(job)
  notify(job, :end)
end
job_failed(job) click to toggle source
# File lib/steward/client.rb, line 23
def job_failed(job)
  notify(job, :failed)
end
job_started(job) click to toggle source
# File lib/steward/client.rb, line 15
def job_started(job)
  notify(job, :start)
end

Private Instance Methods

notify(job, endpoint) click to toggle source
# File lib/steward/client.rb, line 38
def notify(job, endpoint)
  response = self.class.get("/j/#{job}/#{endpoint}", headers: { 'X-StewardToken' => api_key })
  JSON.parse(response.body)
end