summaryrefslogtreecommitdiff
path: root/app/services/notification_recipient_service.rb
diff options
context:
space:
mode:
authorhttp://jneen.net/ <jneen@jneen.net>2017-07-20 12:36:37 -0700
committerhttp://jneen.net/ <jneen@jneen.net>2017-08-03 09:06:15 -0700
commitb010a556b6b0314b333eb13ecc7095dc361f67a2 (patch)
tree45dd4d448fa7b1205654e86390e71d61321d1482 /app/services/notification_recipient_service.rb
parent947bff886ba62087715dbc8b4d48e85588bd5322 (diff)
downloadgitlab-ce-b010a556b6b0314b333eb13ecc7095dc361f67a2.tar.gz
factor out the `target` argument to helpers
Diffstat (limited to 'app/services/notification_recipient_service.rb')
-rw-r--r--app/services/notification_recipient_service.rb38
1 files changed, 19 insertions, 19 deletions
diff --git a/app/services/notification_recipient_service.rb b/app/services/notification_recipient_service.rb
index a68967d38b9..edad4ff021a 100644
--- a/app/services/notification_recipient_service.rb
+++ b/app/services/notification_recipient_service.rb
@@ -30,7 +30,7 @@ class NotificationRecipientService
raise 'abstract'
end
- def build(*)
+ def target
raise 'abstract'
end
@@ -44,7 +44,7 @@ class NotificationRecipientService
# Ensure that if we modify this array, we aren't modifying the memoised
# participants on the target.
- def participants(target, user)
+ def participants(user)
return unless target.respond_to?(:participants)
target.participants(user).dup
@@ -92,7 +92,7 @@ class NotificationRecipientService
reject_users(users, :mention)
end
- def add_subscribed_users(recipients, target)
+ def add_subscribed_users(recipients)
return recipients unless target.respond_to? :subscribers
recipients + target.subscribers(project)
@@ -184,7 +184,7 @@ class NotificationRecipientService
end
end
- def reject_unsubscribed_users(recipients, target)
+ def reject_unsubscribed_users(recipients)
return recipients unless target.respond_to? :subscriptions
recipients.reject do |user|
@@ -193,7 +193,7 @@ class NotificationRecipientService
end
end
- def reject_users_without_access(recipients, target)
+ def reject_users_without_access(recipients)
recipients = recipients.select { |u| u.can?(:receive_notifications) }
ability = case target
@@ -210,7 +210,7 @@ class NotificationRecipientService
end
end
- def add_labels_subscribers(recipients, target, labels: nil)
+ def add_labels_subscribers(recipients, labels: nil)
return recipients unless target.respond_to? :labels
(labels || target.labels).each do |label|
@@ -246,7 +246,7 @@ class NotificationRecipientService
def build
custom_action = build_custom_key(action, target)
- recipients = participants(target, current_user)
+ recipients = participants(current_user)
recipients = add_project_watchers(recipients)
recipients = add_custom_notifications(recipients, custom_action)
recipients = reject_mention_users(recipients)
@@ -265,14 +265,14 @@ class NotificationRecipientService
end
recipients = reject_muted_users(recipients)
- recipients = add_subscribed_users(recipients, target)
+ recipients = add_subscribed_users(recipients)
if [:new_issue, :new_merge_request].include?(custom_action)
- recipients = add_labels_subscribers(recipients, target)
+ recipients = add_labels_subscribers(recipients)
end
- recipients = reject_unsubscribed_users(recipients, target)
- recipients = reject_users_without_access(recipients, target)
+ recipients = reject_unsubscribed_users(recipients)
+ recipients = reject_users_without_access(recipients)
recipients.delete(current_user) if skip_current_user && !current_user.notified_of_own_activity?
@@ -311,7 +311,7 @@ class NotificationRecipientService
return [] if (notification_setting.watch? || notification_setting.participating?) && NotificationSetting::EXCLUDED_WATCHER_EVENTS.include?(custom_action)
- reject_users_without_access([current_user], target)
+ reject_users_without_access([current_user])
end
end
@@ -328,9 +328,9 @@ class NotificationRecipientService
end
def build
- recipients = add_labels_subscribers([], target, labels: labels)
- recipients = reject_unsubscribed_users(recipients, target)
- recipients = reject_users_without_access(recipients, target)
+ recipients = add_labels_subscribers([], labels: labels)
+ recipients = reject_unsubscribed_users(recipients)
+ recipients = reject_users_without_access(recipients)
recipients.delete(current_user) unless current_user.notified_of_own_activity?
recipients.uniq
end
@@ -356,7 +356,7 @@ class NotificationRecipientService
mentioned_users = note.mentioned_users.select { |user| user.can?(ability, subject) }
# Add all users participating in the thread (author, assignee, comment authors)
- recipients = participants(target, note.author) || mentioned_users
+ recipients = participants(note.author) || mentioned_users
unless note.for_personal_snippet?
# Merge project watchers
@@ -372,9 +372,9 @@ class NotificationRecipientService
recipients = reject_muted_users(recipients)
- recipients = add_subscribed_users(recipients, note.noteable)
- recipients = reject_unsubscribed_users(recipients, note.noteable)
- recipients = reject_users_without_access(recipients, note.noteable)
+ recipients = add_subscribed_users(recipients)
+ recipients = reject_unsubscribed_users(recipients)
+ recipients = reject_users_without_access(recipients)
recipients.delete(note.author) unless note.author.notified_of_own_activity?
recipients.uniq