Add a class that represents a git push operation
This commit is contained in:
parent
ba66e0cc9c
commit
3c2d6b4870
|
@ -57,10 +57,10 @@ module MergeRequests
|
|||
# Returns all origin and fork merge requests from `@project` satisfying passed arguments.
|
||||
# rubocop: disable CodeReuse/ActiveRecord
|
||||
def merge_requests_for(source_branch, mr_states: [:opened])
|
||||
MergeRequest
|
||||
@project.source_of_merge_requests
|
||||
.with_state(mr_states)
|
||||
.where(source_branch: source_branch, source_project_id: @project.id)
|
||||
.preload(:source_project) # we don't need a #includes since we're just preloading for the #select
|
||||
.where(source_branch: source_branch)
|
||||
.preload(:source_project) # we don't need #includes since we're just preloading for the #select
|
||||
.select(&:source_project)
|
||||
end
|
||||
# rubocop: enable CodeReuse/ActiveRecord
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Gitlab
|
||||
module Git
|
||||
class Push
|
||||
def initialize(project, oldrev, newrev, ref)
|
||||
@project, @oldrev, @newrev = project, oldrev, newrev
|
||||
@repository = project.repository
|
||||
@branch_name = Gitlab::Git.ref_name(ref)
|
||||
end
|
||||
|
||||
def branch_added?
|
||||
Gitlab::Git.blank_ref?(@oldrev)
|
||||
end
|
||||
|
||||
def branch_removed?
|
||||
Gitlab::Git.blank_ref?(@newrev)
|
||||
end
|
||||
|
||||
def force_push?
|
||||
Gitlab::Checks::ForcePush.force_push?(@project, @oldrev, @newrev)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue