diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-01-15 14:26:05 +0200 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-01-15 14:26:05 +0200 |
commit | 37ef33cba18f947699fc3f285397be34861ab51e (patch) | |
tree | 6c13239b927f0e8b41929bc8368a4d1ed2b53fe0 | |
parent | 065d9c22faf4ae5cdc5dd17f6b655aa15433d5d8 (diff) | |
download | gitlab-ce-37ef33cba18f947699fc3f285397be34861ab51e.tar.gz |
Use instance methods for system_hooks_service
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r-- | app/observers/system_hook_observer.rb | 10 | ||||
-rw-r--r-- | app/services/system_hooks_service.rb | 10 | ||||
-rw-r--r-- | spec/services/system_hooks_service_spec.rb | 4 |
3 files changed, 15 insertions, 9 deletions
diff --git a/app/observers/system_hook_observer.rb b/app/observers/system_hook_observer.rb index 3a649fd590d..80de177b9a2 100644 --- a/app/observers/system_hook_observer.rb +++ b/app/observers/system_hook_observer.rb @@ -2,10 +2,16 @@ class SystemHookObserver < BaseObserver observe :user, :project, :users_project def after_create(model) - SystemHooksService.execute_hooks_for(model, :create) + system_hook_service.execute_hooks_for(model, :create) end def after_destroy(model) - SystemHooksService.execute_hooks_for(model, :destroy) + system_hook_service.execute_hooks_for(model, :destroy) + end + + private + + def system_hook_service + SystemHooksService.new end end diff --git a/app/services/system_hooks_service.rb b/app/services/system_hooks_service.rb index de4fa9b79e7..4969198b8c2 100644 --- a/app/services/system_hooks_service.rb +++ b/app/services/system_hooks_service.rb @@ -1,21 +1,21 @@ class SystemHooksService - def self.execute_hooks_for(model, event) + def execute_hooks_for(model, event) execute_hooks(build_event_data(model, event)) end private - def self.execute_hooks(data) + def execute_hooks(data) SystemHook.all.each do |sh| async_execute_hook sh, data end end - def self.async_execute_hook(hook, data) + def async_execute_hook(hook, data) Sidekiq::Client.enqueue(SystemHookWorker, hook.id, data) end - def self.build_event_data(model, event) + def build_event_data(model, event) data = { event_name: build_event_name(model, event), created_at: model.created_at @@ -51,7 +51,7 @@ class SystemHooksService end end - def self.build_event_name(model, event) + def build_event_name(model, event) case model when UsersProject return "user_add_to_team" if event == :create diff --git a/spec/services/system_hooks_service_spec.rb b/spec/services/system_hooks_service_spec.rb index ebc1ed51d2e..f1df7e55dd0 100644 --- a/spec/services/system_hooks_service_spec.rb +++ b/spec/services/system_hooks_service_spec.rb @@ -24,10 +24,10 @@ describe SystemHooksService do end def event_data(*args) - SystemHooksService.build_event_data(*args) + SystemHooksService.new.send :build_event_data, *args end def event_name(*args) - SystemHooksService.build_event_name(*args) + SystemHooksService.new.send :build_event_name, *args end end |