Class: PullRequestBuilder::GithubPullRequestFetcher

Inherits:
Object
  • Object
show all
Defined in:
lib/pull_request_builder/github_pull_request_fetcher.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config = {}) ⇒ GithubPullRequestFetcher

Returns a new instance of GithubPullRequestFetcher.



7
8
9
10
# File 'lib/pull_request_builder/github_pull_request_fetcher.rb', line 7

def initialize(config = {})
  @config = BuilderConfig.new(config)
  @packages = []
end

Instance Attribute Details

#packagesObject (readonly)

Returns the value of attribute packages.



5
6
7
# File 'lib/pull_request_builder/github_pull_request_fetcher.rb', line 5

def packages
  @packages
end

Instance Method Details

#deleteObject



28
29
30
31
32
33
34
35
# 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

#pullObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 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