class Github::Repos::Watching

def start_watching(user_name, repo_name, params={})


github.repos.watching.start_watching 'user-name', 'repo-name'
github = Github.new
= Examples

You need to be authenticated to watch a repository

Watch a repository
def start_watching(user_name, repo_name, params={})
  _validate_presence_of user_name, repo_name
  normalize! params
  put_request("/user/watched/#{user_name}/#{repo_name}", params)
end

def stop_watching(user_name, repo_name, params={})


github.repos.watching.start_watching 'user-name', 'repo-name'
github = Github.new
= Examples
You need to be authenticated to stop watching a repository.

Stop watching a repository
def stop_watching(user_name, repo_name, params={})
  _validate_presence_of user_name, repo_name
  normalize! params
  delete_request("/user/watched/#{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}/watched", params)
  else
    get_request("/user/watched", params)
  end
  return response unless block_given?
  response.each { |el| yield el }
end

def watchers(user_name, repo_name, params={})


github.repos.watching.watchers { |watcher| ... }
github.repos.watching.watchers
github = Github.new :user => 'user-name', :repo => 'repo-name'
= Examples

List repo watchers
def watchers(user_name, repo_name, params={})
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?
  normalize! params
  response = get_request("/repos/#{user}/#{repo}/watchers", params)
  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={})
  _validate_presence_of user_name, repo_name
  normalize! params
  get_request("/user/watched/#{user_name}/#{repo_name}", params)
  true
rescue Github::Error::NotFound
  false
end