From 6cc4ac7b98b0fb2ba028644fd8dc4e2d89b65e2a Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Tue, 25 Mar 2014 15:07:54 +0200 Subject: [PATCH] Drop activity observer. User EventCreateService instead --- app/models/event.rb | 8 -------- app/observers/activity_observer.rb | 35 ----------------------------------- app/observers/base_observer.rb | 4 ++++ app/observers/issue_observer.rb | 3 +++ 4 files changed, 7 insertions(+), 43 deletions(-) delete mode 100644 app/observers/activity_observer.rb diff --git a/app/models/event.rb b/app/models/event.rb index d43d6eb..5c15685 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -47,14 +47,6 @@ class Event < ActiveRecord::Base scope :in_projects, ->(project_ids) { where(project_id: project_ids).recent } class << self - def determine_action(record) - if [Issue, MergeRequest].include? record.class - Event::CREATED - elsif record.kind_of? Note - Event::COMMENTED - end - end - def create_ref_event(project, user, ref, action = 'add', prefix = 'refs/heads') commit = project.repository.commit(ref.target) diff --git a/app/observers/activity_observer.rb b/app/observers/activity_observer.rb deleted file mode 100644 index c5420c2..0000000 --- a/app/observers/activity_observer.rb +++ /dev/null @@ -1,35 +0,0 @@ -class ActivityObserver < BaseObserver - observe :issue, :note, :milestone - - def after_create(record) - if record.kind_of?(Note) - # Skip system notes, like status changes and cross-references. - return true if record.system? - - # Skip wall notes to prevent spamming of dashboard - return true if record.noteable_type.blank? - end - - create_event(record, Event.determine_action(record)) if current_user - end - - def after_close(record, transition) - create_event(record, Event::CLOSED) - end - - def after_reopen(record, transition) - create_event(record, Event::REOPENED) - end - - protected - - def create_event(record, status) - Event.create( - project: record.project, - target_id: record.id, - target_type: record.class.name, - action: status, - author_id: current_user.id - ) - end -end diff --git a/app/observers/base_observer.rb b/app/observers/base_observer.rb index f9a0242..d685bd5 100644 --- a/app/observers/base_observer.rb +++ b/app/observers/base_observer.rb @@ -3,6 +3,10 @@ class BaseObserver < ActiveRecord::Observer NotificationService.new end + def event_service + EventCreateService.new + end + def log_info message Gitlab::AppLogger.info message end diff --git a/app/observers/issue_observer.rb b/app/observers/issue_observer.rb index 6ef13eb..30da1f8 100644 --- a/app/observers/issue_observer.rb +++ b/app/observers/issue_observer.rb @@ -1,17 +1,20 @@ class IssueObserver < BaseObserver def after_create(issue) notification.new_issue(issue, current_user) + event_service.open_issue(issue, current_user) issue.create_cross_references!(issue.project, current_user) execute_hooks(issue) end def after_close(issue, transition) notification.close_issue(issue, current_user) + event_service.close_issue(issue, current_user) create_note(issue) execute_hooks(issue) end def after_reopen(issue, transition) + event_service.reopen_issue(issue, current_user) create_note(issue) execute_hooks(issue) end -- libgit2 0.21.2