Commit ce0945efcd36cc89d1b633500e4bdecf373fc304
1 parent
6abf5846
Exists in
master
and in
4 other branches
refactor observers. Added BaseObserver with helper methods
Showing
9 changed files
with
26 additions
and
45 deletions
Show diff stats
app/observers/issue_observer.rb
1 | -class IssueObserver < ActiveRecord::Observer | |
1 | +class IssueObserver < BaseObserver | |
2 | 2 | cattr_accessor :current_user |
3 | 3 | |
4 | 4 | def after_create(issue) |
... | ... | @@ -27,8 +27,4 @@ class IssueObserver < ActiveRecord::Observer |
27 | 27 | def create_note(issue) |
28 | 28 | Note.create_status_change_note(issue, current_user, issue.state) |
29 | 29 | end |
30 | - | |
31 | - def notification | |
32 | - NotificationService.new | |
33 | - end | |
34 | 30 | end | ... | ... |
app/observers/key_observer.rb
1 | -class KeyObserver < ActiveRecord::Observer | |
2 | - include Gitlab::ShellAdapter | |
3 | - | |
1 | +class KeyObserver < BaseObserver | |
4 | 2 | def after_save(key) |
5 | 3 | GitlabShellWorker.perform_async( |
6 | 4 | :add_key, |
... | ... | @@ -8,8 +6,7 @@ class KeyObserver < ActiveRecord::Observer |
8 | 6 | key.key |
9 | 7 | ) |
10 | 8 | |
11 | - # Notify about ssh key being added | |
12 | - NotificationService.new.new_key(key) | |
9 | + notification.new_key(key) | |
13 | 10 | end |
14 | 11 | |
15 | 12 | def after_destroy(key) | ... | ... |
app/observers/merge_request_observer.rb
1 | -class MergeRequestObserver < ActiveRecord::Observer | |
1 | +class MergeRequestObserver < BaseObserver | |
2 | 2 | cattr_accessor :current_user |
3 | 3 | |
4 | 4 | def after_create(merge_request) |
... | ... | @@ -16,10 +16,4 @@ class MergeRequestObserver < ActiveRecord::Observer |
16 | 16 | def after_update(merge_request) |
17 | 17 | notification.reassigned_merge_request(merge_request) if merge_request.is_being_reassigned? |
18 | 18 | end |
19 | - | |
20 | - protected | |
21 | - | |
22 | - def notification | |
23 | - NotificationService.new | |
24 | - end | |
25 | 19 | end | ... | ... |
app/observers/note_observer.rb
app/observers/project_observer.rb
1 | -class ProjectObserver < ActiveRecord::Observer | |
1 | +class ProjectObserver < BaseObserver | |
2 | 2 | def after_create(project) |
3 | 3 | GitlabShellWorker.perform_async( |
4 | 4 | :add_repository, |
... | ... | @@ -27,10 +27,4 @@ class ProjectObserver < ActiveRecord::Observer |
27 | 27 | |
28 | 28 | log_info("Project \"#{project.name}\" was removed") |
29 | 29 | end |
30 | - | |
31 | - protected | |
32 | - | |
33 | - def log_info message | |
34 | - Gitlab::AppLogger.info message | |
35 | - end | |
36 | 30 | end | ... | ... |
app/observers/system_hook_observer.rb
app/observers/user_observer.rb
1 | -class UserObserver < ActiveRecord::Observer | |
1 | +class UserObserver < BaseObserver | |
2 | 2 | def after_create(user) |
3 | 3 | log_info("User \"#{user.name}\" (#{user.email}) was created") |
4 | 4 | |
... | ... | @@ -18,14 +18,4 @@ class UserObserver < ActiveRecord::Observer |
18 | 18 | end |
19 | 19 | end |
20 | 20 | end |
21 | - | |
22 | - protected | |
23 | - | |
24 | - def log_info message | |
25 | - Gitlab::AppLogger.info message | |
26 | - end | |
27 | - | |
28 | - def notification | |
29 | - NotificationService.new | |
30 | - end | |
31 | 21 | end | ... | ... |
app/observers/users_project_observer.rb
1 | -class UsersProjectObserver < ActiveRecord::Observer | |
1 | +class UsersProjectObserver < BaseObserver | |
2 | 2 | def after_commit(users_project) |
3 | 3 | return if users_project.destroyed? |
4 | - Notify.delay.project_access_granted_email(users_project.id) | |
5 | 4 | end |
6 | 5 | |
7 | 6 | def after_create(users_project) |
... | ... | @@ -10,6 +9,12 @@ class UsersProjectObserver < ActiveRecord::Observer |
10 | 9 | action: Event::JOINED, |
11 | 10 | author_id: users_project.user.id |
12 | 11 | ) |
12 | + | |
13 | + notification.new_team_member(users_project) | |
14 | + end | |
15 | + | |
16 | + def after_update(users_project) | |
17 | + notification.update_team_member(users_project) | |
13 | 18 | end |
14 | 19 | |
15 | 20 | def after_destroy(users_project) | ... | ... |