Class: Dynflow::DeadLetterSilencer
- Inherits:
-
Concurrent::Actor::DefaultDeadLetterHandler
- Object
- Concurrent::Actor::DefaultDeadLetterHandler
- Dynflow::DeadLetterSilencer
- Defined in:
- lib/dynflow/dead_letter_silencer.rb
Defined Under Namespace
Classes: Matcher
Instance Method Summary collapse
-
#initialize(matchers) ⇒ DeadLetterSilencer
constructor
A new instance of DeadLetterSilencer.
- #on_message(dead_letter) ⇒ Object
- #should_drop?(dead_letter) ⇒ Boolean
Constructor Details
#initialize(matchers) ⇒ DeadLetterSilencer
Returns a new instance of DeadLetterSilencer.
4 5 6 |
# File 'lib/dynflow/dead_letter_silencer.rb', line 4 def initialize(matchers) @matchers = Type! matchers, Array end |
Instance Method Details
#on_message(dead_letter) ⇒ Object
12 13 14 |
# File 'lib/dynflow/dead_letter_silencer.rb', line 12 def (dead_letter) super unless should_drop?(dead_letter) end |
#should_drop?(dead_letter) ⇒ Boolean
8 9 10 |
# File 'lib/dynflow/dead_letter_silencer.rb', line 8 def should_drop?(dead_letter) @matchers.any? { |matcher| matcher.match? dead_letter } end |