class Dynflow::DeadLetterSilencer::Matcher

Constants

Any

Public Class Methods

new(from, message = Any, to = Any) click to toggle source
# File lib/dynflow/dead_letter_silencer.rb, line 20
def initialize(from, message = Any, to = Any)
  @from = from
  @message = message
  @to = to
end

Public Instance Methods

match?(dead_letter) click to toggle source
# File lib/dynflow/dead_letter_silencer.rb, line 26
def match?(dead_letter)
  evaluate(dead_letter.sender.actor_class, @from) &&
    evaluate(dead_letter.message, @message) &&
    evaluate(dead_letter.address.actor_class, @to)
end

Private Instance Methods

evaluate(thing, condition) click to toggle source
# File lib/dynflow/dead_letter_silencer.rb, line 34
def evaluate(thing, condition)
  case condition
  when Any
    true
  when Proc
    condition.call(thing)
  else
    condition == thing
  end
end