class Github::Repos::Keys

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


"key" => "ssh-rsa AAA..."
"title" => "octocat@octomac",
github.repos.keys.create 'user-name', 'repo-name',
github = Github.new
= Examples

* :key - Required string.
* :title - Required string.
= Inputs

Create a key
def create(user_name, repo_name, params={})
  set :user => user_name, :repo => repo_name
  assert_presence_of user, repo
  normalize! params
  filter! VALID_KEY_PARAM_NAMES, params
  assert_required_keys(VALID_KEY_PARAM_NAMES, params)
  post_request("/repos/#{user}/#{repo}/keys", params)
end

def delete(user_name, repo_name, key_id, params={})


@github.repos.keys.delete 'user-name', 'repo-name', 'key-id'
@github = Github.new
= Examples

Delete key
def delete(user_name, repo_name, key_id, params={})
  set :user => user_name, :repo => repo_name
  assert_presence_of user, repo, key_id
  normalize! params
  delete_request("/repos/#{user}/#{repo}/keys/#{key_id}", params)
end

def edit(user_name, repo_name, key_id, params={})


"key" => "ssh-rsa AAA..."
"title" => "octocat@octomac",
github.repos.keys.edit 'user-name', 'repo-name',
github = Github.new
= Examples

* :key - Required string.
* :title - Required string.
= Inputs

Edit a key
def edit(user_name, repo_name, key_id, params={})
  set :user => user_name, :repo => repo_name
  assert_presence_of user, repo, key_id
  normalize! params
  filter! VALID_KEY_PARAM_NAMES, params
  patch_request("/repos/#{user}/#{repo}/keys/#{key_id}", params)
end

def get(user_name, repo_name, key_id, params={})


github.repos.keys.get 'user-name', 'repo-name', 'key-id'
github = Github.new
= Examples

Get a key
def get(user_name, repo_name, key_id, params={})
  set :user => user_name, :repo => repo_name
  assert_presence_of user, repo, key_id
  normalize! params
  get_request("/repos/#{user}/#{repo}/keys/#{key_id}", params)
end

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


github.repos.keys.list 'user-name', 'repo-name' { |key| ... }
github.repos.keys.list 'user-name', 'repo-name'
github = Github.new
= Examples

List deploy keys
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}/keys", params)
  return response unless block_given?
  response.each { |el| yield el }
end