Class: Dynflow::DeadLetterSilencer

Inherits:
Concurrent::Actor::DefaultDeadLetterHandler
  • Object
show all
Defined in:
lib/dynflow/dead_letter_silencer.rb

Defined Under Namespace

Classes: Matcher

Instance Method Summary collapse

Constructor Details

#initialize(matchers) ⇒ DeadLetterSilencer

Returns a new instance of DeadLetterSilencer.



5
6
7
# File 'lib/dynflow/dead_letter_silencer.rb', line 5

def initialize(matchers)
  @matchers = Type! matchers, Array
end

Instance Method Details

#on_message(dead_letter) ⇒ Object



13
14
15
# File 'lib/dynflow/dead_letter_silencer.rb', line 13

def on_message(dead_letter)
  super unless should_drop?(dead_letter)
end

#should_drop?(dead_letter) ⇒ Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/dynflow/dead_letter_silencer.rb', line 9

def should_drop?(dead_letter)
  @matchers.any? { |matcher| matcher.match? dead_letter }
end