summaryrefslogtreecommitdiff
path: root/app/models/merge_request.rb
diff options
context:
space:
mode:
authorFelipe Artur <felipefac@gmail.com>2017-03-17 19:14:27 -0300
committerFelipe Artur <felipefac@gmail.com>2017-05-08 11:24:55 -0300
commit4ae411ff40352ec21bd10f859b7f3f9f85a7aee6 (patch)
treec7f38b9bc9a9fb826cf88de15fb61054f5354cab /app/models/merge_request.rb
parent11ff9fc6a9837cd5defa0325b5057a5a3d84634c (diff)
downloadgitlab-ce-4ae411ff40352ec21bd10f859b7f3f9f85a7aee6.tar.gz
Preloads head pipeline for each merge request
Diffstat (limited to 'app/models/merge_request.rb')
-rw-r--r--app/models/merge_request.rb8
1 files changed, 2 insertions, 6 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 35231bab12e..3a2cff6ac21 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -13,6 +13,8 @@ class MergeRequest < ActiveRecord::Base
has_one :merge_request_diff,
-> { order('merge_request_diffs.id DESC') }
+ belongs_to :head_pipeline, foreign_key: "head_pipeline_id", class_name: "Ci::Pipeline"
+
has_many :events, as: :target, dependent: :destroy
has_many :merge_requests_closing_issues, class_name: 'MergeRequestsClosingIssues', dependent: :delete_all
@@ -829,12 +831,6 @@ class MergeRequest < ActiveRecord::Base
diverged_commits_count > 0
end
- def head_pipeline
- return unless diff_head_sha && source_project
-
- @head_pipeline ||= source_project.pipeline_for(source_branch, diff_head_sha)
- end
-
def all_pipelines
return Ci::Pipeline.none unless source_project