diff options
Diffstat (limited to 'app/models/concerns/subscribable.rb')
-rw-r--r-- | app/models/concerns/subscribable.rb | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/app/models/concerns/subscribable.rb b/app/models/concerns/subscribable.rb index 5a10ea7a248..fe47393c554 100644 --- a/app/models/concerns/subscribable.rb +++ b/app/models/concerns/subscribable.rb @@ -27,8 +27,6 @@ module Subscribable def lazy_subscription(user, project = nil) return unless user - # handle project and group labels as well as issuable subscriptions - subscribable_type = self.class.ancestors.include?(Label) ? 'Label' : self.class.name BatchLoader.for(id: id, subscribable_type: subscribable_type, project_id: project&.id).batch do |items, loader| values = items.each_with_object({ ids: Set.new, subscribable_types: Set.new, project_ids: Set.new }) do |item, result| result[:ids] << item[:id] @@ -121,4 +119,15 @@ module Subscribable subscriptions .where(t[:project_id].eq(nil).or(t[:project_id].eq(project.try(:id)))) end + + def subscribable_type + # handle project and group labels as well as issuable subscriptions + if self.class.ancestors.include?(Label) + 'Label' + elsif self.class.ancestors.include?(Issue) + 'Issue' + else + self.class.name + end + end end |