class Rspec::Core::World

def apply_condition(filter_on, filter, metadata)

def apply_condition(filter_on, filter, metadata)
  return false if metadata.nil?
  case filter
  when Hash
    filter.all? { |k, v| apply_condition(k, v, metadata[filter_on]) }
  when Regexp
    metadata[filter_on] =~ filter
  when Proc
    filter.call(metadata[filter_on]) rescue false
  else
    metadata[filter_on] == filter
  end
end