Class: Dashdog::Client
- Inherits:
-
Object
- Object
- Dashdog::Client
- Defined in:
- lib/dashdog/client.rb
Instance Method Summary collapse
- #create_screenboard(sb) ⇒ Object
- #create_timeboard(tb) ⇒ Object
- #delete_screenboard(id) ⇒ Object
- #delete_timeboard(id) ⇒ Object
- #get_screenboards ⇒ Object
- #get_timeboards ⇒ Object
-
#initialize ⇒ Client
constructor
A new instance of Client.
- #update_screenboard(sb) ⇒ Object
- #update_timeboard(tb) ⇒ Object
Constructor Details
#initialize ⇒ Client
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
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
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
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
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_screenboards ⇒ Object
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_timeboards ⇒ Object
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
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
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 |