module Roda::RodaPlugins::MailProcessor::RequestMethods

def _match_address(field, val, addresses)

(normal regexp match).
strings (case insensitive match of any string), or regexp
can be a string (case insensitive match of the string), array of
Match if any of the given addresses match the given val, which
def _match_address(field, val, addresses)
  case val
  when String
    addresses.any?{|a| address_match?(a, val)}
  when Array
    overlap = []
    addresses.each do |a|
      val.each do |v|
        if address_match?(a, v)
          overlap << a 
        end
      end
    end
    unless overlap.empty?
      @captures.concat(overlap)
    end
  when Regexp
    matched = false
    addresses.each do |v|
      if md = val.match(v)
        matched = true
        @captures.concat(md.captures)
      end
    end
    matched
  else
    unsupported_matcher(:field=>val)
  end
end