Module: Octokit::Client::Contents
- Included in:
- Octokit::Client
- Defined in:
- lib/octokit/client/contents.rb
Overview
Methods for the Repo Contents API
Instance Method Summary collapse
-
#archive_link(repo, options = {}) ⇒ String
This method will provide a URL to download a tarball or zipball archive for a repository.
-
#contents(repo, options = {}) ⇒ Sawyer::Resource
(also: #content)
Receive a listing of a repository folder or the contents of a file.
-
#create_contents(repo, path, message, content = nil, options = {}) ⇒ Sawyer::Resource
(also: #create_content, #add_content, #add_contents)
Add content to a repository.
-
#delete_contents(repo, path, message, sha, options = {}) ⇒ Sawyer::Resource
(also: #delete_content, #remove_content, #remove_contents)
Delete content in a repository.
-
#readme(repo, options = {}) ⇒ Sawyer::Resource
Receive the default Readme for a repository.
-
#update_contents(repo, path, message, sha, content = nil, options = {}) ⇒ Sawyer::Resource
(also: #update_content)
Update content in a repository.
Instance Method Details
#archive_link(repo, options = {}) ⇒ String
This method will provide a URL to download a tarball or zipball archive for a repository.
157 158 159 160 161 162 163 164 |
# File 'lib/octokit/client/contents.rb', line 157 def archive_link(repo, = {}) repo_ref = ERB::Util.url_encode(.delete(:ref)) format = (.delete :format) || 'tarball' url = "#{Repository.path repo}/#{format}/#{repo_ref}" response = client_without_redirects.head(url, ) response.headers['Location'] end |
#contents(repo, options = {}) ⇒ Sawyer::Resource Also known as: content
Receive a listing of a repository folder or the contents of a file
36 37 38 39 40 41 |
# File 'lib/octokit/client/contents.rb', line 36 def contents(repo, = {}) = .dup repo_path = .delete :path url = "#{Repository.path repo}/contents/#{repo_path}" get url, end |
#create_contents(repo, path, message, content = nil, options = {}) ⇒ Sawyer::Resource Also known as: create_content, add_content, add_contents
Add content to a repository
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/octokit/client/contents.rb', line 61 def create_contents(*args) args = args.map { |item| item&.dup } = args.last.is_a?(Hash) ? args.pop : {} repo = args.shift path = args.shift = args.shift content = args.shift if content.nil? && file = .delete(:file) case file when String if File.exist?(file) file = File.open(file, 'r') content = file.read file.close end when File, Tempfile content = file.read file.close end end raise ArgumentError, 'content or :file option required' if content.nil? [:content] = Base64.strict_encode64(content) [:message] = url = "#{Repository.path repo}/contents/#{path}" put url, end |
#delete_contents(repo, path, message, sha, options = {}) ⇒ Sawyer::Resource Also known as: delete_content, remove_content, remove_contents
Delete content in a repository
138 139 140 141 142 143 |
# File 'lib/octokit/client/contents.rb', line 138 def delete_contents(repo, path, , sha, = {}) [:message] = [:sha] = sha url = "#{Repository.path repo}/contents/#{path}" delete url, end |
#readme(repo, options = {}) ⇒ Sawyer::Resource
Receive the default Readme for a repository
21 22 23 |
# File 'lib/octokit/client/contents.rb', line 21 def readme(repo, = {}) get "#{Repository.path repo}/readme", end |
#update_contents(repo, path, message, sha, content = nil, options = {}) ⇒ Sawyer::Resource Also known as: update_content
Update content in a repository
111 112 113 114 115 116 117 118 119 120 |
# File 'lib/octokit/client/contents.rb', line 111 def update_contents(*args) = args.last.is_a?(Hash) ? args.pop : {} repo = args.shift path = args.shift = args.shift sha = args.shift content = args.shift .merge!(sha: sha) create_contents(repo, path, , content, ) end |