Class: Github::Client::Repos::PubSubHubbub

Inherits:
API
  • Object
show all
Defined in:
lib/github_api/client/repos/pub_sub_hubbub.rb

Constant Summary collapse

HEADERS =
{
  CONTENT_TYPE => 'application/x-www-form-urlencoded'
}

Constants included from MimeType

MimeType::MEDIA_LOOKUP

Constants included from Github::Constants

Github::Constants::ACCEPT, Github::Constants::ACCEPTED_OAUTH_SCOPES, Github::Constants::ACCEPT_CHARSET, Github::Constants::CACHE_CONTROL, Github::Constants::CONTENT_LENGTH, Github::Constants::CONTENT_TYPE, Github::Constants::DATE, Github::Constants::ETAG, Github::Constants::HEADER_LAST, Github::Constants::HEADER_LINK, Github::Constants::HEADER_NEXT, Github::Constants::LOCATION, Github::Constants::META_FIRST, Github::Constants::META_LAST, Github::Constants::META_NEXT, Github::Constants::META_PREV, Github::Constants::META_REL, Github::Constants::OAUTH_SCOPES, Github::Constants::PARAM_PAGE, Github::Constants::PARAM_PER_PAGE, Github::Constants::PARAM_START_PAGE, Github::Constants::RATELIMIT_LIMIT, Github::Constants::RATELIMIT_REMAINING, Github::Constants::RATELIMIT_RESET, Github::Constants::SERVER, Github::Constants::USER_AGENT

Instance Attribute Summary

Attributes inherited from API

#current_options

Instance Method Summary collapse

Methods inherited from API

after_callbacks, after_request, #api_methods_in, #arguments, before_callbacks, before_request, clear_request_methods!, #disable_redirects, #execute, extend_with_actions, extra_methods, #extract_basic_auth, extract_class_name, #filter_callbacks, inherited, #initialize, internal_methods, method_added, #method_missing, #module_methods_in, namespace, request_methods, require_all, #respond_to?, root!, #run_callbacks, #set, #yield_or_eval

Methods included from Request::Verbs

#delete_request, #get_request, #head_request, #options_request, #patch_request, #post_request, #put_request

Methods included from RateLimit

#ratelimit, #ratelimit_remaining, #ratelimit_reset

Methods included from MimeType

#lookup_media, #parse

Methods included from Authorization

#auth_code, #authenticated?, #authentication, #authorize_url, #basic_authed?, #client, #get_token

Constructor Details

This class inherits a constructor from Github::API

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Github::API

Instance Method Details

#subscribe(*args) ⇒ Object

Subscribe to existing topic/event through pubsubhubbub

Examples:

github = Github.new oauth_token: 'token'
github.repos.pubsubhubbub.subscribe
  'https://github.com/:user/:repo/events/push',
  'github://[email protected]',
  verify: 'sync',
  secret: '...'

Parameters:



29
30
31
32
33
34
35
# File 'lib/github_api/client/repos/pub_sub_hubbub.rb', line 29

def subscribe(*args)
  params = arguments(args, required: [:topic, :callback]).params
  _merge_action!("subscribe", arguments.topic, arguments.callback, params)
  params['headers'] = HEADERS

  post_request("/hub", params)
end

#subscribe_service(*args) ⇒ Object Also known as: subscribe_repository, subscribe_repo

Subscribe repository to service hook through pubsubhubbub

Examples:

github = Github.new oauth_token: '...'
github.repos.pubsubhubbub.subscribe_service 'user-name', 'repo-name',
 'campfire',
  subdomain: 'github',
  room: 'Commits',
  token: 'abc123',
  event: 'watch'

Parameters:



80
81
82
83
84
85
86
87
# File 'lib/github_api/client/repos/pub_sub_hubbub.rb', line 80

def subscribe_service(*args)
  params   = arguments(args, required: [:user, :repo, :service]).params
  event    = params.delete('event') || 'push'
  topic    = "#{site}/#{arguments.user}/#{arguments.repo}/events/#{event}"
  callback = "github://#{arguments.service}?#{params.serialize}"

  subscribe(topic, callback)
end

#unsubscribe(*args) ⇒ Object

Unsubscribe from existing topic/event through pubsubhubbub

Examples:

github = Github.new oauth_token: 'token'
github.repos.pubsubhubbub.unsubscribe
  'https://github.com/:user/:repo/events/push',
  'github://[email protected]',
  verify: 'sync',
  secret: '...'

Parameters:



56
57
58
59
60
61
62
# File 'lib/github_api/client/repos/pub_sub_hubbub.rb', line 56

def unsubscribe(*args)
  params = arguments(args, required: [:topic, :callback]).params
  _merge_action!("unsubscribe", arguments.topic, arguments.callback, params)
  params['headers'] = HEADERS

  post_request("/hub", params)
end

#unsubscribe_service(*args) ⇒ Object Also known as: unsubscribe_repository, unsubscribe_repo

Subscribe repository to service hook through pubsubhubbub

Examples:

github = Github.new oauth_token: '...'
github.repos.pubsubhubbub.unsubscribe_service 'user-name', 'repo-name',
  'campfire'
github.repos.pubsubhubbub.unsubscribe_service
  user: 'user-name',
  repo: 'repo-name',
  service: 'service-name'

Parameters:



109
110
111
112
113
114
115
116
# File 'lib/github_api/client/repos/pub_sub_hubbub.rb', line 109

def unsubscribe_service(*args)
  params   = arguments(args, required: [:user, :repo, :service]).params
  event    = params.delete('event') || 'push'
  topic    = "#{site}/#{arguments.user}/#{arguments.repo}/events/#{event}"
  callback = "github://#{arguments.service}"

  unsubscribe(topic, callback)
end
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy