class Prpr::Action::ConflictLabel::CheckAll
Public Instance Methods
call()
click to toggle source
# File lib/prpr/action/conflict_label/check_all.rb, line 5 def call pull_requests.each do |pull_request| case mergeable? pull_request when true remove_label pull_request when false add_label pull_request else # ignore nil end end end
Private Instance Methods
add_label(pull_request)
click to toggle source
# File lib/prpr/action/conflict_label/check_all.rb, line 28 def add_label(pull_request) return if already_labeled?(pull_request) github.add_labels_to_an_issue(repository, pull_request.number, [label]) end
already_labeled?(pull_request)
click to toggle source
# File lib/prpr/action/conflict_label/check_all.rb, line 38 def already_labeled?(pull_request) labels(pull_request).map(&:name).any? { |name| name == label } end
github()
click to toggle source
# File lib/prpr/action/conflict_label/check_all.rb, line 54 def github Repository::Github.default end
label()
click to toggle source
# File lib/prpr/action/conflict_label/check_all.rb, line 46 def label @label ||= Config::Env.default[:conflict_label] || 'conflict' end
labels(pull_request)
click to toggle source
# File lib/prpr/action/conflict_label/check_all.rb, line 42 def labels(pull_request) github.labels_for_issue repository, pull_request.number end
mergeable?(pull_request)
click to toggle source
# File lib/prpr/action/conflict_label/check_all.rb, line 24 def mergeable?(pull_request) github.pull_request(repository, pull_request.number).mergeable end
pull_requests()
click to toggle source
# File lib/prpr/action/conflict_label/check_all.rb, line 20 def pull_requests @pull_requests ||= github.pull_requests repository, state: 'open' end
remove_label(pull_request)
click to toggle source
# File lib/prpr/action/conflict_label/check_all.rb, line 33 def remove_label(pull_request) return unless already_labeled?(pull_request) github.remove_label(repository, pull_request.number, label) end
repository()
click to toggle source
# File lib/prpr/action/conflict_label/check_all.rb, line 50 def repository event.repository.full_name end