class Pagerduty
Attributes
incident_key[R]
service_key[R]
Public Class Methods
new(service_key)
click to toggle source
# File lib/pagerduty.rb, line 17 def initialize(service_key) @service_key = service_key @incident_key = nil end
Public Instance Methods
get_incident(incident_key)
click to toggle source
# File lib/pagerduty.rb, line 33 def get_incident(incident_key) PagerdutyIncident.new @service_key, incident_key end
incident_key=(incident_key)
click to toggle source
# File lib/pagerduty.rb, line 22 def incident_key=(incident_key) @incident_key = incident_key end
trigger(description, details = {})
click to toggle source
# File lib/pagerduty.rb, line 26 def trigger(description, details = {}) resp = api_call("trigger", description, details) throw PagerdutyException.new(self, resp) unless resp["status"] == "success" PagerdutyIncident.new @service_key, resp["incident_key"] end
Protected Instance Methods
api_call(event_type, description, details = {})
click to toggle source
# File lib/pagerduty.rb, line 38 def api_call(event_type, description, details = {}) params = { :event_type => event_type, :service_key => @service_key, :description => description, :details => details } params.merge!({ :incident_key => @incident_key }) unless @incident_key == nil curl = Curl::Easy.new curl.url = "http://events.pagerduty.com/generic/2010-04-15/create_event.json" curl.http_post JSON.generate(params) JSON.parse curl.body_str end