Module: Octokit::Client::PubSubHubbub
- Included in:
- Octokit::Client
- Defined in:
- lib/octokit/client/pub_sub_hubbub.rb
Overview
Methods for the PubSubHubbub API
Instance Method Summary collapse
-
#subscribe(topic, callback, secret = nil) ⇒ Boolean
Subscribe to a pubsub topic.
-
#subscribe_service_hook(repo, service_name, service_arguments = {}, secret = nil) ⇒ Boolean
Subscribe to a repository through pubsub.
-
#unsubscribe(topic, callback) ⇒ Boolean
Unsubscribe from a pubsub topic.
-
#unsubscribe_service_hook(repo, service_name) ⇒ Object
Unsubscribe repository through pubsub.
Instance Method Details
#subscribe(topic, callback, secret = nil) ⇒ Boolean
Subscribe to a pubsub topic
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/octokit/client/pub_sub_hubbub.rb', line 19 def subscribe(topic, callback, secret = nil) = { :"hub.callback" => callback, :"hub.mode" => "subscribe", :"hub.topic" => topic } .merge!(:"hub.secret" => secret) unless secret.nil? response = pub_sub_hubbub_request() response.status == 204 end |
#subscribe_service_hook(repo, service_name, service_arguments = {}, secret = nil) ⇒ Boolean
Subscribe to a repository through pubsub
65 66 67 68 69 |
# File 'lib/octokit/client/pub_sub_hubbub.rb', line 65 def subscribe_service_hook(repo, service_name, service_arguments = {}, secret = nil) topic = "#{Octokit.web_endpoint}#{Repository.new(repo)}/events/push" callback = "github://#{service_name}?#{service_arguments.collect{ |k,v| [ k,v ].map{ |p| URI.encode_www_form_component(p) }.join("=") }.join("&") }" subscribe(topic, callback, secret) end |
#unsubscribe(topic, callback) ⇒ Boolean
Unsubscribe from a pubsub topic
41 42 43 44 45 46 47 48 49 50 |
# File 'lib/octokit/client/pub_sub_hubbub.rb', line 41 def unsubscribe(topic, callback) = { :"hub.callback" => callback, :"hub.mode" => "unsubscribe", :"hub.topic" => topic } response = pub_sub_hubbub_request() response.status == 204 end |
#unsubscribe_service_hook(repo, service_name) ⇒ Object
Unsubscribe repository through pubsub
80 81 82 83 84 |
# File 'lib/octokit/client/pub_sub_hubbub.rb', line 80 def unsubscribe_service_hook(repo, service_name) topic = "#{Octokit.web_endpoint}#{Repository.new(repo)}/events/push" callback = "github://#{service_name}" unsubscribe(topic, callback) end |