class Github::Repos::Contents

as Base64 encoded content.
These API methods let you retrieve the contents of files within a repository

def archive(*args)


"ref" => "master"
"archive_format" => "tarball",
github.repos.contents.archive 'user-name', 'repo-name',
github = Github.new
= Examples

* :ref - Optional string - valid Git reference, defaults to master
* :archive_format - Required string - either tarball or zipball
= Parameters

Note: For private repositories, these links are temporary and expire quickly.

a second GET request.
to follow redirects or you will need to use the Location header to make
archive for a repository. Please make sure your HTTP framework is configured
This method will return a 302 to a URL to download a tarball or zipball

Get archive link
def archive(*args)
  arguments(args, :required => [:user, :repo])
  params         = arguments.params
  archive_format = params.delete('archive_format') || 'zipball'
  ref            = params.delete('ref') || 'master'
  get_request("/repos/#{user}/#{repo}/#{archive_format}/#{ref}", params)
end

def get(*args)


github.repos.contents.get path: 'README.md'
github = Github.new user: 'user-name', repo: 'repo-name'

github.repos.contents.get 'user-name', 'repo-name', 'path'
github = Github.new
= Examples

* :ref - Optional string - valid Git reference, defaults to master
= Parameters

This method returns the contents of any file or directory in a repository.

Get contents
def get(*args)
  arguments(args, :required => [:user, :repo, :path])
  params = arguments.params
  get_request("/repos/#{user}/#{repo}/contents/#{path}", params)
end

def readme(*args)


content.readme
content = Github::Repos;:Contents.new user: 'user-name', 'repo-name'

github.repos.contents.readme 'user-name', 'repo-name'
github = Github.new
= Examples

This method returns the preferred README for a repository.

Get the README
def readme(*args)
  arguments(args, :required => [:user, :repo])
  params = arguments.params
  get_request("/repos/#{user}/#{repo}/readme", params)
end