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.
155 156 157 158 159 160 161 162 |
# File 'lib/octokit/client/contents.rb', line 155 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
34 35 36 37 38 39 |
# File 'lib/octokit/client/contents.rb', line 34 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
59 60 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 |
# File 'lib/octokit/client/contents.rb', line 59 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] = [content].pack('m0') # Base64.strict_encode64 [: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
136 137 138 139 140 141 |
# File 'lib/octokit/client/contents.rb', line 136 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
19 20 21 |
# File 'lib/octokit/client/contents.rb', line 19 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
109 110 111 112 113 114 115 116 117 118 |
# File 'lib/octokit/client/contents.rb', line 109 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 |