class Github::Repos::Collaborators

def add(user_name, repo_name, collaborator, params={})


collaborators.add 'user', 'repo', 'collaborator'
collaborators = Github::Repos::Collaborators.new

github.collaborators.add 'user', 'repo', 'collaborator'
github = Github.new
Examples:

Add collaborator
def add(user_name, repo_name, collaborator, params={})
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?
  _validate_presence_of collaborator
  _normalize_params_keys(params)
  put_request("/repos/#{user}/#{repo}/collaborators/#{collaborator}", params)
end

def collaborator?(user_name, repo_name, collaborator, params={})


github.collaborators.collaborator?('user', 'repo', 'collaborator')
github = Github.new
Examples:

Checks if user is a collaborator for a given repository
def collaborator?(user_name, repo_name, collaborator, params={})
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?
  _validate_presence_of collaborator
  _normalize_params_keys(params)
  get_request("/repos/#{user}/#{repo}/collaborators/#{collaborator}", params)
  true
rescue Github::Error::NotFound
  false
end

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


github.repos.collaborators.list 'user-name', 'repo-name' { |cbr| .. }
github.repos.collaborators.list 'user-name', 'repo-name'
github = Github.new
Examples:

List collaborators
def list(user_name, repo_name, params={})
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless (user? && repo?)
  _normalize_params_keys(params)
  response = get_request("/repos/#{user}/#{repo}/collaborators", params)
  return response unless block_given?
  response.each { |el| yield el }
end

def remove(user_name, repo_name, collaborator, params={})


github.repos.collaborators.remove 'user', 'repo', 'collaborator'
github = Github.new
Examples:

Removes collaborator
def remove(user_name, repo_name, collaborator, params={})
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?
  _validate_presence_of collaborator
  _normalize_params_keys(params)
  delete_request("/repos/#{user}/#{repo}/collaborators/#{collaborator}", params)
end