class ActionDispatch::Journey::Formatter

def missing_keys(route, parts)

Returns an array populated with missing keys if any are present.
def missing_keys(route, parts)
  missing_keys = nil
  tests = route.path.requirements
  route.required_parts.each { |key|
    case tests[key]
    when nil
      unless parts[key]
        missing_keys ||= []
        missing_keys << key
      end
    when RegexCaseComparator
      unless RegexCaseComparator::DEFAULT_REGEX === parts[key]
        missing_keys ||= []
        missing_keys << key
      end
    else
      unless /\A#{tests[key]}\Z/ === parts[key]
        missing_keys ||= []
        missing_keys << key
      end
    end
  }
  missing_keys
end