class Spage::Api::Component

Component resources in the statuspage.io API

Public Instance Methods

all(page_id:) click to toggle source
# File lib/spage/api/component.rb, line 12
def all(page_id:)
  response = client.get("pages/#{page_id}/components")

  handle_response(response) do
    response.body.map do |component|
      Spage::Component.new(component)
    end
  end
end
create(component, page_id:) click to toggle source
# File lib/spage/api/component.rb, line 30
def create(component, page_id:)
  json = Spage::Serializers::Component.new(component,
                                           update: true).to_json
  response = client.post("pages/#{page_id}/components", json)

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

  handle_response(response) do
    true
  end
end
find(page_id:, id:) click to toggle source
# File lib/spage/api/component.rb, line 22
def find(page_id:, id:)
  response = client.get("pages/#{page_id}/components", id)

  handle_response(response) do
    Spage::Component.new(response.body)
  end
end
update(component, page_id:, id:) click to toggle source
# File lib/spage/api/component.rb, line 40
def update(component, page_id:, id:)
  json = Spage::Serializers::Component.new(component,
                                           update: true).to_json
  response = client.put("pages/#{page_id}/components", id, json)

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