lib/gitlab/client/repositories.rb in gitlab-4.6.0 vs lib/gitlab/client/repositories.rb in gitlab-4.6.1

- old
+ new

@@ -1,72 +1,74 @@ # frozen_string_literal: true -# Defines methods related to repositories. -# @see https://docs.gitlab.com/ce/api/repositories.html -module Repositories - # Get file tree project (root level). - # - # @example - # Gitlab.tree(42) - # Gitlab.tree(42, { path: 'Gemfile' }) - # - # @param [Integer, String] project The ID or name of a project. - # @param [Hash] options A customizable set of options. - # @option options [String] :path The path inside repository. - # @option options [String] :ref_name The name of a repository branch or tag. - # @return [Gitlab::ObjectifiedHash] - def tree(project, options = {}) - get("/projects/#{url_encode project}/repository/tree", query: options) - end - alias repo_tree tree +class Gitlab::Client + # Defines methods related to repositories. + # @see https://docs.gitlab.com/ce/api/repositories.html + module Repositories + # Get file tree project (root level). + # + # @example + # Gitlab.tree(42) + # Gitlab.tree(42, { path: 'Gemfile' }) + # + # @param [Integer, String] project The ID or name of a project. + # @param [Hash] options A customizable set of options. + # @option options [String] :path The path inside repository. + # @option options [String] :ref_name The name of a repository branch or tag. + # @return [Gitlab::ObjectifiedHash] + def tree(project, options = {}) + get("/projects/#{url_encode project}/repository/tree", query: options) + end + alias repo_tree tree - # Get project repository archive - # - # @example - # Gitlab.repo_archive(42) - # Gitlab.repo_archive(42, 'deadbeef') - # - # @param [Integer, String] project The ID or name of a project. - # @param [String] ref The commit sha, branch, or tag to download. - # @return [Gitlab::FileResponse] - def repo_archive(project, ref = 'master') - get("/projects/#{url_encode project}/repository/archive", - format: nil, - headers: { Accept: 'application/octet-stream' }, - query: { sha: ref }, - parser: proc { |body, _| - if body.encoding == Encoding::ASCII_8BIT # binary response - ::Gitlab::FileResponse.new StringIO.new(body, 'rb+') - else # error with json response - ::Gitlab::Request.parse(body) - end - }) - end + # Get project repository archive + # + # @example + # Gitlab.repo_archive(42) + # Gitlab.repo_archive(42, 'deadbeef') + # + # @param [Integer, String] project The ID or name of a project. + # @param [String] ref The commit sha, branch, or tag to download. + # @return [Gitlab::FileResponse] + def repo_archive(project, ref = 'master') + get("/projects/#{url_encode project}/repository/archive", + format: nil, + headers: { Accept: 'application/octet-stream' }, + query: { sha: ref }, + parser: proc { |body, _| + if body.encoding == Encoding::ASCII_8BIT # binary response + ::Gitlab::FileResponse.new StringIO.new(body, 'rb+') + else # error with json response + ::Gitlab::Request.parse(body) + end + }) + end - # Compares branches, tags or commits. - # - # @example - # Gitlab.compare(42, 'master', 'feature/branch') - # Gitlab.repo_compare(42, 'master', 'feature/branch') - # - # @param [Integer] project The ID of a project. - # @param [String] from The commit SHA or branch name of from branch. - # @param [String] to The commit SHA or branch name of to branch. - # @return [Gitlab::ObjectifiedHash] - def compare(project, from, to) - get("/projects/#{url_encode project}/repository/compare", query: { from: from, to: to }) - end - alias repo_compare compare + # Compares branches, tags or commits. + # + # @example + # Gitlab.compare(42, 'master', 'feature/branch') + # Gitlab.repo_compare(42, 'master', 'feature/branch') + # + # @param [Integer] project The ID of a project. + # @param [String] from The commit SHA or branch name of from branch. + # @param [String] to The commit SHA or branch name of to branch. + # @return [Gitlab::ObjectifiedHash] + def compare(project, from, to) + get("/projects/#{url_encode project}/repository/compare", query: { from: from, to: to }) + end + alias repo_compare compare - # Get the common ancestor for 2 refs (commit SHAs, branch names or tags). - # - # @example - # Gitlab.merge_base(42, ['master', 'feature/branch']) - # Gitlab.merge_base(42, ['master', 'feature/branch']) - # - # @param [Integer, String] project The ID or URL-encoded path of the project. - # @param [Array] refs Array containing 2 commit SHAs, branch names, or tags. - # @return [Gitlab::ObjectifiedHash] - def merge_base(project, refs) - get("/projects/#{url_encode project}/repository/merge_base", query: { refs: refs }) + # Get the common ancestor for 2 refs (commit SHAs, branch names or tags). + # + # @example + # Gitlab.merge_base(42, ['master', 'feature/branch']) + # Gitlab.merge_base(42, ['master', 'feature/branch']) + # + # @param [Integer, String] project The ID or URL-encoded path of the project. + # @param [Array] refs Array containing 2 commit SHAs, branch names, or tags. + # @return [Gitlab::ObjectifiedHash] + def merge_base(project, refs) + get("/projects/#{url_encode project}/repository/merge_base", query: { refs: refs }) + end end end