method
groups_for
v8.1.1 -
Show latest stable
- Class:
ActiveSupport::Notifications::Fanout
groups_for(name)public
No documentation available.
# File activesupport/lib/active_support/notifications/fanout.rb, line 196
def groups_for(name) # :nodoc:
silenceable_groups, groups = @groups_for.compute_if_absent(name) do
listeners = all_listeners_for(name)
listeners.partition(&:silenceable).map { |l| group_listeners(l) }
end
unless silenceable_groups.empty?
silenceable_groups.each do |group_class, subscriptions|
active_subscriptions = subscriptions.reject { |s| s.silenced?(name) }
unless active_subscriptions.empty?
groups = groups.dup if groups.frozen?
base_groups = groups[group_class]
groups[group_class] = base_groups ? base_groups + active_subscriptions : active_subscriptions
end
end
end
groups
end