diff options
Diffstat (limited to 'app/observers/activity_observer.rb')
| -rw-r--r-- | app/observers/activity_observer.rb | 42 |
1 files changed, 11 insertions, 31 deletions
diff --git a/app/observers/activity_observer.rb b/app/observers/activity_observer.rb index ee3e4629b4c..3740274db2d 100644 --- a/app/observers/activity_observer.rb +++ b/app/observers/activity_observer.rb @@ -1,5 +1,5 @@ class ActivityObserver < BaseObserver - observe :issue, :merge_request, :note, :milestone + observe :issue, :note, :milestone def after_create(record) event_author_id = record.author_id @@ -13,47 +13,27 @@ class ActivityObserver < BaseObserver end if event_author_id - Event.create( - project: record.project, - target_id: record.id, - target_type: record.class.name, - action: Event.determine_action(record), - author_id: event_author_id - ) + create_event(record, Event.determine_action(record)) end end def after_close(record, transition) - Event.create( - project: record.project, - target_id: record.id, - target_type: record.class.name, - action: Event::CLOSED, - author_id: record.author_id_of_changes - ) + create_event(record, Event::CLOSED) end def after_reopen(record, transition) - Event.create( - project: record.project, - target_id: record.id, - target_type: record.class.name, - action: Event::REOPENED, - author_id: record.author_id_of_changes - ) + create_event(record, Event::REOPENED) end - def after_merge(record, transition) - # Since MR can be merged via sidekiq - # to prevent event duplication do this check - return true if record.merge_event + protected + def create_event(record, status) Event.create( - project: record.project, - target_id: record.id, - target_type: record.class.name, - action: Event::MERGED, - author_id: record.author_id_of_changes + project: record.project, + target_id: record.id, + target_type: record.class.name, + action: status, + author_id: record.author_id ) end end |
