class TrackerApi::Endpoints::Webhook

Attributes

client[RW]

Public Class Methods

new(client) click to toggle source
# File lib/tracker_api/endpoints/webhook.rb, line 6
def initialize(client)
  @client = client
end

Public Instance Methods

create(project_id, params={}) click to toggle source
# File lib/tracker_api/endpoints/webhook.rb, line 16
def create(project_id, params={})
  data = client.post("/projects/#{project_id}/webhooks", params: params).body

  Resources::Webhook.new({ client: client }.merge(data))
end
delete(webhook) click to toggle source
# File lib/tracker_api/endpoints/webhook.rb, line 32
def delete(webhook)
  raise ArgumentError, 'Valid webhook required to update.' unless webhook.instance_of?(Resources::Webhook)

  data = client.delete("/projects/#{webhook.project_id}/webhooks/#{webhook.id}")
  data.status == 204
end
delete_from_project(project_id, webhook_id) click to toggle source
# File lib/tracker_api/endpoints/webhook.rb, line 39
def delete_from_project(project_id, webhook_id)
  data = client.delete("/projects/#{project_id}/webhooks/#{webhook_id}")
  data.status == 204
end
get(project_id, id, params={}) click to toggle source
# File lib/tracker_api/endpoints/webhook.rb, line 10
def get(project_id, id, params={})
  data = client.get("/projects/#{project_id}/webhooks/#{id}", params: params).body

  Resources::Webhook.new({ client: client, project_id: project_id }.merge(data))
end
update(webhook, params={}) click to toggle source
# File lib/tracker_api/endpoints/webhook.rb, line 22
def update(webhook, params={})
  raise ArgumentError, 'Valid webhook required to update.' unless webhook.instance_of?(Resources::Webhook)

  data = client.put("/projects/#{webhook.project_id}/webhooks/#{webhook.id}", params: params).body

  webhook.attributes = data
  webhook.clean!
  webhook
end