class Github::Repos::Watching
discussions, as well as events in the user’s activity feed.
Watching a Repository registers the user to receive notificactions on new
def list(user_name, repo_name, params={})
github.repos.watching.list { |watcher| ... }
github.repos.watching.list
github = Github.new :user => 'user-name', :repo => 'repo-name'
= Examples
List repo watchers
def list(user_name, repo_name, params={}) set :user => user_name, :repo => repo_name assert_presence_of user, repo normalize! params response = get_request("/repos/#{user}/#{repo}/subscribers", params) return response unless block_given? response.each { |el| yield el } end
def unwatch(user_name, repo_name, params={})
github.repos.watching.unwatch 'user-name', 'repo-name'
github = Github.new
= Examples
You need to be authenticated to stop watching a repository.
Stop watching a repository
def unwatch(user_name, repo_name, params={}) assert_presence_of user_name, repo_name normalize! params delete_request("/user/subscriptions/#{user_name}/#{repo_name}", params) end
def watch(user_name, repo_name, params={})
github.repos.watching.watch 'user-name', 'repo-name'
github = Github.new
= Examples
You need to be authenticated to watch a repository
Watch a repository
def watch(user_name, repo_name, params={}) assert_presence_of user_name, repo_name normalize! params put_request("/user/subscriptions/#{user_name}/#{repo_name}", params) end
def watched(*args)
github.repos.watching.watched
github = Github.new :oauth_token => '...'
= Examples
List repos being watched by the authenticated user
github.repos.watching.watched :user => 'user-name'
github = Github.new
= Examples
List repos being watched by a user
def watched(*args) params = args.extract_options! normalize! params response = if (user_name = params.delete('user')) get_request("/users/#{user_name}/subscriptions", params) else get_request("/user/subscriptions", params) end return response unless block_given? response.each { |el| yield el } end
def watching?(user_name, repo_name, params={})
github.repos.watching.watching? 'user-name', 'repo-name'
github = Github.new
= Examples
Returns true if this repo is watched by you, false otherwise
Check if you are watching a repository
def watching?(user_name, repo_name, params={}) assert_presence_of user_name, repo_name normalize! params get_request("/user/subscriptions/#{user_name}/#{repo_name}", params) true rescue Github::Error::NotFound false end