class Github::Activity::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.activity.watching.list { |watcher| ... }
github.activity.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.activity.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.activity.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.activity.watching.watched
github = Github.new :oauth_token => '...'
= Examples

List repos being watched by the authenticated user

github.activity.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.activity.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