Class: Rubymail::Webhook

Inherits:
Object show all
Defined in:
lib/rubymail/webhook.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(rubymail, domain, url) ⇒ Webhook

Returns a new instance of Webhook.



5
6
7
8
9
# File 'lib/rubymail/webhook.rb', line 5

def initialize(rubymail, domain, url)
  @rubymail = rubymail
  @domain = domain
  @default_webhook_url = url
end

Instance Attribute Details

#default_webhook_urlObject

Returns the value of attribute default_webhook_url.



3
4
5
# File 'lib/rubymail/webhook.rb', line 3

def default_webhook_url
  @default_webhook_url
end

#domainObject

Returns the value of attribute domain.



3
4
5
# File 'lib/rubymail/webhook.rb', line 3

def domain
  @domain
end

Instance Method Details

#available_idsObject



11
12
13
# File 'lib/rubymail/webhook.rb', line 11

def available_ids
  %w(bounce deliver drop spam unsubscribe click open).map(&:to_sym)
end

#create(id, url = default_webhook_url) ⇒ Object



23
24
25
26
# File 'lib/rubymail/webhook.rb', line 23

def create(id, url=default_webhook_url)
  params = {:id => id, :url => url}
  Rubymail.submit :post, webhook_url, params
end

#delete(id) ⇒ Object



33
34
35
# File 'lib/rubymail/webhook.rb', line 33

def delete(id)
  Rubymail.submit :delete, webhook_url(id)
end

#find(id) ⇒ Object



19
20
21
# File 'lib/rubymail/webhook.rb', line 19

def find(id)
  Rubymail.submit :get, webhook_url(id)
end

#listObject



15
16
17
# File 'lib/rubymail/webhook.rb', line 15

def list
  Rubymail.submit(:get, webhook_url)["webhooks"] || []
end

#update(id, url = default_webhook_url) ⇒ Object



28
29
30
31
# File 'lib/rubymail/webhook.rb', line 28

def update(id, url=default_webhook_url)
  params = {:url => url}
  Rubymail.submit :put, webhook_url(id), params
end