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.



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 on_message(dead_letter)
  super unless should_drop?(dead_letter)
end

#should_drop?(dead_letter) ⇒ Boolean

Returns:

  • (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