Class: Dashdog::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/dashdog/client.rb

Instance Method Summary collapse

Constructor Details

#initializeClient

Returns a new instance of Client.



7
8
9
# File 'lib/dashdog/client.rb', line 7

def initialize
  @api = Dogapi::Client.new(ENV['DD_API_KEY'], ENV['DD_APP_KEY'])
end

Instance Method Details

#create_screenboard(sb) ⇒ Object

Raises:

  • (RuntimeError)


51
52
53
54
# 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) ⇒ Object

Raises:

  • (RuntimeError)


27
28
29
30
31
32
33
34
# 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) ⇒ Object

Raises:

  • (RuntimeError)


63
64
65
66
# 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) ⇒ Object

Raises:

  • (RuntimeError)


46
47
48
49
# 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_screenboardsObject



19
20
21
22
23
24
25
# 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_timeboardsObject



11
12
13
14
15
16
17
# 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) ⇒ Object

Raises:

  • (RuntimeError)


56
57
58
59
60
61
# 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) ⇒ Object

Raises:

  • (RuntimeError)


36
37
38
39
40
41
42
43
44
# 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