move notification_setting_for_user_project to a public class method

This commit is contained in:
http://jneen.net/ 2017-07-20 11:57:42 -07:00
parent 80647364ff
commit b188e1b9e6
1 changed files with 13 additions and 13 deletions

View File

@ -4,6 +4,18 @@
class NotificationRecipientService
attr_reader :project
def self.notification_setting_for_user_project(user, project)
project_setting = user.notification_settings_for(project)
return project_setting unless project_setting.global?
group_setting = user.notification_settings_for(project.group)
return group_setting unless group_setting.global?
user.global_notification_setting
end
def initialize(project)
@project = project
end
@ -55,7 +67,7 @@ class NotificationRecipientService
:success_pipeline
end
notification_setting = notification_setting_for_user_project(current_user, target.project)
notification_setting = NotificationRecipientService.notification_setting_for_user_project(current_user, target.project)
return [] if notification_setting.mention? || notification_setting.disabled?
@ -317,16 +329,4 @@ class NotificationRecipientService
def build_custom_key(action, object)
"#{action}_#{object.class.model_name.name.underscore}".to_sym
end
def notification_setting_for_user_project(user, project)
project_setting = user.notification_settings_for(project)
return project_setting unless project_setting.global?
group_setting = user.notification_settings_for(project.group)
return group_setting unless group_setting.global?
user.global_notification_setting
end
end