Class: ActiveSupport::Notifications::Fanout::Subscribers::Matcher
- Defined in:
- lib/active_support/notifications/fanout.rb
Overview
:nodoc:
Defined Under Namespace
Classes: AllMessages
Instance Attribute Summary collapse
-
#exclusions ⇒ Object
readonly
Returns the value of attribute exclusions.
-
#pattern ⇒ Object
readonly
Returns the value of attribute pattern.
Class Method Summary collapse
Instance Method Summary collapse
- #===(name) ⇒ Object
-
#initialize(pattern) ⇒ Matcher
constructor
A new instance of Matcher.
- #unsubscribe!(name) ⇒ Object
Constructor Details
#initialize(pattern) ⇒ Matcher
Returns a new instance of Matcher.
158 159 160 161 |
# File 'lib/active_support/notifications/fanout.rb', line 158 def initialize(pattern) @pattern = pattern @exclusions = Set.new end |
Instance Attribute Details
#exclusions ⇒ Object (readonly)
Returns the value of attribute exclusions.
146 147 148 |
# File 'lib/active_support/notifications/fanout.rb', line 146 def exclusions @exclusions end |
#pattern ⇒ Object (readonly)
Returns the value of attribute pattern.
146 147 148 |
# File 'lib/active_support/notifications/fanout.rb', line 146 def pattern @pattern end |
Class Method Details
.wrap(pattern) ⇒ Object
148 149 150 151 152 153 154 155 156 |
# File 'lib/active_support/notifications/fanout.rb', line 148 def self.wrap(pattern) if String === pattern pattern elsif pattern.nil? AllMessages.new else new(pattern) end end |
Instance Method Details
#===(name) ⇒ Object
167 168 169 |
# File 'lib/active_support/notifications/fanout.rb', line 167 def ===(name) pattern === name && !exclusions.include?(name) end |
#unsubscribe!(name) ⇒ Object
163 164 165 |
# File 'lib/active_support/notifications/fanout.rb', line 163 def unsubscribe!(name) exclusions << -name if pattern === name end |