summaryrefslogtreecommitdiff
path: root/app/models/commit.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/commit.rb')
-rw-r--r--app/models/commit.rb16
1 files changed, 9 insertions, 7 deletions
diff --git a/app/models/commit.rb b/app/models/commit.rb
index 9e7fde9503d..2134ba2d75f 100644
--- a/app/models/commit.rb
+++ b/app/models/commit.rb
@@ -232,13 +232,15 @@ class Commit
def status(ref = nil)
@statuses ||= {}
- if @statuses.key?(ref)
- @statuses[ref]
- elsif ref
- @statuses[ref] = pipelines.where(ref: ref).status
- else
- @statuses[ref] = pipelines.status
- end
+ return @statuses[ref] if @statuses.key?(ref)
+
+ latest_pipeline = if ref
+ pipelines.latest_for(ref)
+ else
+ pipelines.latest
+ end.first
+
+ @statuses[ref] = latest_pipeline.try(:status)
end
def revert_branch_name