Sha256: d509d21a3d2ddd6a98fd91222df292e3e7576a4b892455e26d88630d9515aafd

Contents?: true

Size: 1.69 KB

Versions: 3

Compression:

Stored size: 1.69 KB

Contents

module Octokit
  class Client
    module PubSubHubbub
      # Subscribe to a pubsub topic
      #
      # @param topic [String] A recoginized and supported pubsub topic
      # @param callback [String] A callback url to be posted to when the topic event is fired
      # @return [boolean] true if the subscribe was successful, otherwise an error is raised
      # @example Subscribe to push events from one of your repositories, having an email sent when fired
      #   client = Octokit::Client.new(:oauth_token = "token")
      #   client.subscribe("https://github.com/joshk/devise_imapable/events/push", "github://Email?address=josh.kalderimis@gmail.com")
      def subscribe(topic, callback)
        options = {
          :"hub.mode" => "subscribe",
          :"hub.topic" => topic,
          :"hub.callback" => callback,
        }
        post("hub", options)
        true
      end

      # Unsubscribe from a pubsub topic
      #
      # @param topic [String] A recoginized pubsub topic
      # @param callback [String] A callback url to be unsubscribed from
      # @return [boolean] true if the unsubscribe was successful, otherwise an error is raised
      # @example Unsubscribe to push events from one of your repositories, no longer having an email sent when fired
      #   client = Octokit::Client.new(:oauth_token = "token")
      #   client.unsubscribe("https://github.com/joshk/devise_imapable/events/push", "github://Email?address=josh.kalderimis@gmail.com")
      def unsubscribe(topic, callback)
        options = {
          :"hub.mode" => "unsubscribe",
          :"hub.topic" => topic,
          :"hub.callback" => callback,
        }
        post("hub", options)
        true
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
octokit-1.21.0 lib/octokit/client/pub_sub_hubbub.rb
octokit-1.20.0 lib/octokit/client/pub_sub_hubbub.rb
octokit-1.19.0 lib/octokit/client/pub_sub_hubbub.rb