class Dashdog::Client

Public Class Methods

new() click to toggle source
# File lib/dashdog/client.rb, line 7
def initialize
  @api = Dogapi::Client.new(ENV['DD_API_KEY'], ENV['DD_APP_KEY'])
end

Public Instance Methods

create_screenboard(sb) click to toggle source
# File lib/dashdog/client.rb, line 51
def create_screenboard(sb)
  ret = @api.create_screenboard(sb)
  raise RuntimeError, ret[1]['errors'] if ret[0] != '200'
end
create_timeboard(tb) click to toggle source
# File lib/dashdog/client.rb, line 27
def create_timeboard(tb)
  ret = @api.create_dashboard(
    tb['title'],
    tb['description'],
    tb['graphs'],
    tb['template_variables'])
  raise RuntimeError, ret[1]['errors'] if ret[0] != '200'
end
delete_screenboard(id) click to toggle source
# File lib/dashdog/client.rb, line 63
def delete_screenboard(id)
  ret = @api.delete_screenboard(id)
  raise RuntimeError, ret[1]['errors'] unless ['200', '204'].include?(ret[0])
end
delete_timeboard(id) click to toggle source
# File lib/dashdog/client.rb, line 46
def delete_timeboard(id)
  ret = @api.delete_dashboard(id)
  raise RuntimeError, ret[1]['errors'] unless ['200', '204'].include?(ret[0])
end
get_screenboards() click to toggle source
# File lib/dashdog/client.rb, line 19
def get_screenboards
  ret = []
  Parallel.each(@api.get_all_screenboards[1]['screenboards'], in_threads: 4) do |bd|
    ret << @api.get_screenboard(bd['id'])[1]
  end
  return ret
end
get_timeboards() click to toggle source
# File lib/dashdog/client.rb, line 11
def get_timeboards
  ret = []
  Parallel.each(@api.get_dashboards[1]['dashes'], in_threads: 4)  do |bd|
    ret << @api.get_dashboard(bd['id'])[1]['dash']
  end
  return ret
end
update_screenboard(sb) click to toggle source
# File lib/dashdog/client.rb, line 56
def update_screenboard(sb)
  id = sb['id']
  sb.delete('id')
  ret = @api.update_screenboard(id, sb)
  raise RuntimeError, ret[1]['errors'] if ret[0] != '200'
end
update_timeboard(tb) click to toggle source
# File lib/dashdog/client.rb, line 36
def update_timeboard(tb)
  ret = @api.update_dashboard(
    tb['id'],
    tb['title'],
    tb['description'],
    tb['graphs'],
    tb['template_variables'])
  raise RuntimeError, ret[1]['errors'] if ret[0] != '200'
end