diff --git a/app/models/event.rb b/app/models/event.rb index 8681c2e4d9035b35d0ad4a73109a0b640e07608f..9e296c00281ef48d8c70275b67b0018b04a61c67 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -70,6 +70,12 @@ class Event < ActiveRecord::Base author_id: user.id ) end + + def reset_event_cache_for(target) + Event.where(target_id: target.id, target_type: target.class.to_s). + order('id DESC').limit(100). + update_all(updated_at: Time.now) + end end def proper? diff --git a/app/models/issue.rb b/app/models/issue.rb index a116a9354cbf61c8ad2f27d9f965601eefbd4810..b5a72d535d969387e81370a3e1761308b5f2239e 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -67,8 +67,6 @@ class Issue < ActiveRecord::Base # 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: 'Issue'). - order('id DESC').limit(100). - update_all(updated_at: Time.now) + Event.reset_event_cache_for(self) end end diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 28486fb41c6a472a3898fd4710a75954b3a798ae..686add63bbfd829b19e8232a0b326f0439b23613 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -287,9 +287,7 @@ class MergeRequest < ActiveRecord::Base # 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) + Event.reset_event_cache_for(self) end def merge_commit_message diff --git a/app/models/note.rb b/app/models/note.rb index ed4829b2b394cc3e469c7aad9a2d5bf45fbc8f3c..7ff6444cc9bc65de94fabdd223dccbc685df0622 100644 --- a/app/models/note.rb +++ b/app/models/note.rb @@ -327,9 +327,7 @@ class Note < ActiveRecord::Base # 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: 'Note'). - order('id DESC').limit(100). - update_all(updated_at: Time.now) + Event.reset_event_cache_for(self) end def set_references