summaryrefslogtreecommitdiff
path: root/app/observers/activity_observer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/observers/activity_observer.rb')
-rw-r--r--app/observers/activity_observer.rb42
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