diff options
| author | Drew Blessing <drew.blessing@buckle.com> | 2013-12-13 13:40:45 -0600 |
|---|---|---|
| committer | Drew Blessing <drew.blessing@buckle.com> | 2013-12-13 13:40:45 -0600 |
| commit | 63723ef6df788391ed776441421ae482ad4fbd82 (patch) | |
| tree | d7f1d27b5f6bfe7ca0f7162ea12658178d97cc4a /app/models/merge_request.rb | |
| parent | ee53b73986ba4c9dd2f0c726a44718acb8febaf8 (diff) | |
| download | gitlab-ce-63723ef6df788391ed776441421ae482ad4fbd82.tar.gz | |
Fix dashboard event caching
Diffstat (limited to 'app/models/merge_request.rb')
| -rw-r--r-- | app/models/merge_request.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index e862f35819c..e59aee8b445 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -305,6 +305,20 @@ class MergeRequest < ActiveRecord::Base self.target_project.repository.branch_names.include?(self.target_branch) end + # Reset merge request events cache + # + # Since we do cache @event we need to reset cache in special cases: + # * when a merge request is updated + # Events cache stored like events/23-20130109142513. + # The cache key includes updated_at timestamp. + # Thus it will automatically generate a new fragment + # when the event is updated because the key changes. + def reset_events_cache + Event.where(target_id: self.id, target_type: 'MergeRequest'). + order('id DESC').limit(100). + update_all(updated_at: Time.now) + end + private def dump_commits(commits) |
