Watching a Repository registers the user to receive notificactions on new discussions, as well as events in the user’s activity feed.
List repo watchers
github = Github.new :user => 'user-name', :repo => 'repo-name' github.activity.watching.list github.activity.watching.list { |watcher| ... }
# File lib/github_api/activity/watching.rb, line 14 def list(*args) arguments(args, :required => [:user, :repo]) response = get_request("/repos/#{user}/#{repo}/subscribers", arguments.params) return response unless block_given? response.each { |el| yield el } end
Stop watching a repository
You need to be authenticated to stop watching a repository.
github = Github.new github.activity.watching.unwatch 'user-name', 'repo-name'
# File lib/github_api/activity/watching.rb, line 84 def unwatch(*args) arguments(args, :required => [:user, :repo]) delete_request("/user/subscriptions/#{user}/#{repo}", arguments.params) end
Watch a repository
You need to be authenticated to watch a repository
github = Github.new github.activity.watching.watch 'user-name', 'repo-name'
# File lib/github_api/activity/watching.rb, line 71 def watch(*args) arguments(args, :required => [:user, :repo]) put_request("/user/subscriptions/#{user}/#{repo}", arguments.params) end
List repos being watched by a user
github = Github.new github.activity.watching.watched :user => 'user-name'
List repos being watched by the authenticated user
github = Github.new :oauth_token => '...' github.activity.watching.watched
# File lib/github_api/activity/watching.rb, line 35 def watched(*args) params = arguments(args).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
Check if you are watching a repository
Returns true
if this repo is watched by you,
false
otherwise
github = Github.new github.activity.watching.watching? 'user-name', 'repo-name'
# File lib/github_api/activity/watching.rb, line 54 def watching?(*args) arguments(args, :required => [:user, :repo]) get_request("/user/subscriptions/#{user}/#{repo}", arguments.params) true rescue Github::Error::NotFound false end