class Spage::Api::Incident

Incident resources in the statuspage.io API

Public Instance Methods

active_maintenance(page_id:) click to toggle source
# File lib/spage/api/incident.rb, line 42
def active_maintenance(page_id:)
  response = client.get("pages/#{page_id}/incidents/active_maintenance")

  handle_response(response) do
    response.body.map do |incident|
      Spage::Incident.new(incident)
    end
  end
end
all(page_id:) click to toggle source
# File lib/spage/api/incident.rb, line 12
def all(page_id:)
  response = client.get("pages/#{page_id}/incidents")

  handle_response(response) do
    response.body.map do |incident|
      Spage::Incident.new(incident)
    end
  end
end
create(incident, page_id:) click to toggle source
# File lib/spage/api/incident.rb, line 60
def create(incident, page_id:)
  json = Spage::Serializers::Incident.new(incident,
                                          update: true).to_json

  response = client.post("pages/#{page_id}/incidents", json)

  handle_response(response) do
    Spage::Incident.new(response.body)
  end
end
delete(page_id:, id:) click to toggle source
# File lib/spage/api/incident.rb, line 81
def delete(page_id:, id:)
  response = client.delete("pages/#{page_id}/incidents", id)

  handle_response(response) do
    Spage::Incident.new(response.body)
  end
end
find(page_id:, id:) click to toggle source
# File lib/spage/api/incident.rb, line 52
def find(page_id:, id:)
  response = client.get("pages/#{page_id}/incidents", id)

  handle_response(response) do
    Spage::Incident.new(response.body)
  end
end
scheduled(page_id:) click to toggle source
# File lib/spage/api/incident.rb, line 32
def scheduled(page_id:)
  response = client.get("pages/#{page_id}/incidents/scheduled")

  handle_response(response) do
    response.body.map do |incident|
      Spage::Incident.new(incident)
    end
  end
end
unresolved(page_id:) click to toggle source
# File lib/spage/api/incident.rb, line 22
def unresolved(page_id:)
  response = client.get("pages/#{page_id}/incidents/unresolved")

  handle_response(response) do
    response.body.map do |incident|
      Spage::Incident.new(incident)
    end
  end
end
update(incident, page_id:, id:) click to toggle source
# File lib/spage/api/incident.rb, line 71
def update(incident, page_id:, id:)
  json = Spage::Serializers::Incident.new(incident,
                                          update: true).to_json
  response = client.put("pages/#{page_id}/incidents", id, json)

  handle_response(response) do
    Spage::Incident.new(response.body)
  end
end