Sha256: 6f89d9fcc84f9ceff3e4ed260a688bf478583858c1c3eb2c812a504f9d5df35b
Contents?: true
Size: 1.46 KB
Versions: 7
Compression:
Stored size: 1.46 KB
Contents
# frozen_string_literal: true module Ninny module Repository class Gitlab attr_reader :gitlab, :project_id def initialize @gitlab = ::Gitlab.client( endpoint: Ninny.project_config.gitlab_endpoint, private_token: Ninny.user_config.gitlab_private_token ) @project_id = Ninny.project_config.gitlab_project_id end def current_pull_request to_pr( gitlab.merge_requests( project_id, { source_branch: Ninny.git.current_branch.name, target_branch: Ninny.project_config.deploy_branch, state: 'opened' } ).auto_paginate.last ) end def pull_request_label 'Merge Request' end def open_pull_requests gitlab.merge_requests(project_id, { state: 'opened' }).auto_paginate.map { |mr| to_pr(mr) } end def pull_request(id) to_pr(gitlab.merge_request(project_id, id)) end def create_merge_request_note(id, body) gitlab.create_merge_request_note(project_id, id, body) end def to_pr(request) request && PullRequest.new( number: request.iid, title: request.title, branch: request.source_branch, description: request.description, comment_lambda: ->(body) { Ninny.repo.create_merge_request_note(request.iid, body) } ) end private :to_pr end end end
Version data entries
7 entries across 7 versions & 1 rubygems