Sha256: d68fbbfc959595a95496474bb563da002d855658615cca8d4ab76250b607055f

Contents?: true

Size: 751 Bytes

Versions: 1

Compression:

Stored size: 751 Bytes

Contents

# frozen_string_literal: true

module Groundskeeper
  # Wraps an interface to GitHub.
  class GitHub
    attr_reader :opener, :username, :repository_name

    COMMAND = "open"
    URL_BASE = "https://github.com/"

    def self.build(username:, repository_name:)
      new(
        opener: Executable.new(COMMAND),
        username: username,
        repository_name: repository_name
      )
    end

    def initialize(opener:, username:, repository_name:)
      @opener = opener
      @username = username
      @repository_name = repository_name
    end

    def open_pull_request_page(branch_name)
      url = "#{URL_BASE}#{username}/#{repository_name}/compare/" \
            "#{branch_name}?expand=1"

      opener.execute(url)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
groundskeeper-bitcore-0.3.3 lib/groundskeeper/git_hub.rb