class PullRequestBuilder::GithubPullRequestFetcher

Attributes

packages[R]

Public Class Methods

new(config = {}) click to toggle source
# File lib/pull_request_builder/github_pull_request_fetcher.rb, line 7
def initialize(config = {})
  @config = BuilderConfig.new(config)
  @packages = []
end

Public Instance Methods

delete() click to toggle source
# File lib/pull_request_builder/github_pull_request_fetcher.rb, line 28
def delete
  ObsPullRequestPackage.all(@config.logger, @config.build_server_project_integration_prefix).each do |obs_package|
    next if @packages.any? { |pr_package| pr_package.pull_request.number == obs_package.pull_request.number }

    @config.logger.info('Delete obs_package')
    @config.build_server_package_name
  end
end
pull() click to toggle source
# File lib/pull_request_builder/github_pull_request_fetcher.rb, line 12
def pull
  @packages = @config.octokit_client.pull_requests(@config.git_repository).collect do |pull_request|
    next if pull_request.base.ref != @config.git_branch

    @config.logger.info('')
    @config.logger.info(line_seperator(pull_request))
    package = ObsPullRequestPackage.new(pull_request: pull_request, logger: @config.logger,
                                        obs_project_name_prefix: @config.build_server_project_integration_prefix,
                                        obs_package_name: @config.build_server_package_name, obs_project_name: @config.build_server_project,
                                        osc: @config.osc)
    package.create
    GithubStatusReporter.new(repository: @config.git_repository, package: package, client: @config.octokit_client, logger: @config.logger, osc: OSC.new).report
    package
  end
end

Private Instance Methods

line_seperator(pull_request, separator_char = '=', separation_size = 15) click to toggle source
# File lib/pull_request_builder/github_pull_request_fetcher.rb, line 39
def line_seperator(pull_request, separator_char = '=', separation_size = 15)
  separator_char * separation_size + " #{pull_request.title} (#{pull_request.number}) " + separator_char * separation_size
end