module Github::Repos::Keys

def create_key(user_name=nil, repo_name=nil, params={})


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

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

Create a key
def create_key(user_name=nil, repo_name=nil, params={})
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?
  _normalize_params_keys(params)
  _filter_params_keys(VALID_KEY_PARAM_NAMES, params)
  raise ArgumentError, "Required params are: #{VALID_KEY_PARAM_NAMES.join(', ')}" unless _validate_inputs(VALID_KEY_PARAM_NAMES, params)
  post("/repos/#{user}/#{repo}/keys", params)
end

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


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

Delete key
def delete_key(user_name, repo_name, key_id, params={})
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?
  _validate_presence_of key_id
  _normalize_params_keys(params)
  delete("/repos/#{user}/#{repo}/keys/#{key_id}", params)
end

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


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

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

Edit a key
def edit_key(user_name, repo_name, key_id, params={})
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?
  _validate_presence_of key_id
  _normalize_params_keys(params)
  _filter_params_keys(VALID_KEY_PARAM_NAMES, params)
  patch("/repos/#{user}/#{repo}/keys/#{key_id}", params)
end

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


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

Get a key
def get_key(user_name, repo_name, key_id, params={})
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?
  _validate_presence_of key_id
  _normalize_params_keys(params)
  get("/repos/#{user}/#{repo}/keys/#{key_id}", params)
end

def keys(user_name=nil, repo_name=nil, params={})


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

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