Sha256: 03421fa99848c087dadb7dd0f2e746f4f795e6d0bd29df92db32e5a6cf1d9cb3

Contents?: true

Size: 973 Bytes

Versions: 3

Compression:

Stored size: 973 Bytes

Contents

# frozen_string_literal: true

require_relative 'abstract_issue'

module Geet
  module GitHub
    class PR < AbstractIssue
      def self.create(repository, title, description, head, api_helper)
        request_address = "#{api_helper.api_repo_link}/pulls"

        head = "#{repository.authenticated_user}:#{head}" if api_helper.upstream?
        request_data = { title: title, body: description, head: head, base: 'master' }

        response = api_helper.send_request(request_address, data: request_data)

        issue_number = response.fetch('number')

        new(issue_number, api_helper)
      end

      def link
        "#{@api_helper.repo_link}/pull/#{@issue_number}"
      end

      def request_review(reviewers)
        request_data = { reviewers: reviewers }
        request_address = "#{@api_helper.api_repo_link}/pulls/#{@issue_number}/requested_reviewers"

        @api_helper.send_request(request_address, data: request_data)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
geet-0.1.7 lib/geet/git_hub/pr.rb
geet-0.1.6 lib/geet/git_hub/pr.rb
geet-0.1.5 lib/geet/git_hub/pr.rb