Class: PostProxy::Resources::Webhooks
- Inherits:
-
Object
- Object
- PostProxy::Resources::Webhooks
- Defined in:
- lib/postproxy/resources/webhooks.rb
Instance Method Summary collapse
- #create(url, events:, description: nil) ⇒ Object
- #delete(id) ⇒ Object
- #deliveries(id, page: nil, per_page: nil) ⇒ Object
- #get(id) ⇒ Object
-
#initialize(client) ⇒ Webhooks
constructor
A new instance of Webhooks.
- #list ⇒ Object
- #update(id, url: nil, events: nil, enabled: nil, description: nil) ⇒ Object
Constructor Details
#initialize(client) ⇒ Webhooks
Returns a new instance of Webhooks.
4 5 6 |
# File 'lib/postproxy/resources/webhooks.rb', line 4 def initialize(client) @client = client end |
Instance Method Details
#create(url, events:, description: nil) ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/postproxy/resources/webhooks.rb', line 19 def create(url, events:, description: nil) json_body = { url: url, events: events } json_body[:description] = description if description result = @client.request(:post, "/webhooks", json: json_body) Webhook.new(**result) end |
#delete(id) ⇒ Object
38 39 40 41 |
# File 'lib/postproxy/resources/webhooks.rb', line 38 def delete(id) result = @client.request(:delete, "/webhooks/#{id}") DeleteResponse.new(**result) end |
#deliveries(id, page: nil, per_page: nil) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/postproxy/resources/webhooks.rb', line 43 def deliveries(id, page: nil, per_page: nil) params = {} params[:page] = page if page params[:per_page] = per_page if per_page result = @client.request(:get, "/webhooks/#{id}/deliveries", params: params) deliveries = (result[:data] || []).map { |d| WebhookDelivery.new(**d) } PaginatedResponse.new( data: deliveries, total: result[:total], page: result[:page], per_page: result[:per_page] ) end |
#get(id) ⇒ Object
14 15 16 17 |
# File 'lib/postproxy/resources/webhooks.rb', line 14 def get(id) result = @client.request(:get, "/webhooks/#{id}") Webhook.new(**result) end |
#list ⇒ Object
8 9 10 11 12 |
# File 'lib/postproxy/resources/webhooks.rb', line 8 def list result = @client.request(:get, "/webhooks") webhooks = (result[:data] || []).map { |w| Webhook.new(**w) } ListResponse.new(data: webhooks) end |
#update(id, url: nil, events: nil, enabled: nil, description: nil) ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/postproxy/resources/webhooks.rb', line 27 def update(id, url: nil, events: nil, enabled: nil, description: nil) json_body = {} json_body[:url] = url unless url.nil? json_body[:events] = events unless events.nil? json_body[:enabled] = enabled unless enabled.nil? json_body[:description] = description unless description.nil? result = @client.request(:patch, "/webhooks/#{id}", json: json_body) Webhook.new(**result) end |