Class: RunscopeStatuspage::StatuspageAPI

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/runscope_statuspage/statuspage_api.rb

Instance Method Summary collapse

Constructor Details

#initialize(token) ⇒ StatuspageAPI

Set credentials



11
12
13
# File 'lib/runscope_statuspage/statuspage_api.rb', line 11

def initialize(token)
  @options = { headers: {"Authorization" => "OAuth #{token}"} }
end

Instance Method Details

#clear_metric_dataObject

Delete all data for a custom page metric



34
35
36
# File 'lib/runscope_statuspage/statuspage_api.rb', line 34

def clear_metric_data
  self.class.delete("/pages/#{page_id}/metrics/#{metric_id}/data.json", @options)
end

#create_realtime_incident(page, name, msg, status, twitter) ⇒ Object

Create incident



16
17
18
19
20
21
22
23
# File 'lib/runscope_statuspage/statuspage_api.rb', line 16

def create_realtime_incident(page, name, msg, status, twitter)
  self.class.post("/pages/#{page}/incidents.json", @options.merge!(body: {"incident" => {
                                                                            "name" => name,
                                                                            "message" => msg,
                                                                            "status" => status.nil? ? 'investigating' : status,
                                                                            "wants_twitter_update" => twitter
  }}))
end

#push_metric_data(page_id, metric_id, data, timestamp) ⇒ Object

Publish data for a custom page metric



26
27
28
29
30
31
# File 'lib/runscope_statuspage/statuspage_api.rb', line 26

def push_metric_data(page_id, metric_id, data, timestamp)
  self.class.post("/pages/#{page_id}/metrics/#{metric_id}/data.json", @options.merge!(body: {"data" => {
                                                                                               "value" => data,
                                                                                               "timestamp" => timestamp
  }}))
end