Method: RuboCop::PathUtil.match_path?
- Defined in:
- lib/rubocop/path_util.rb
.match_path?(pattern, path, config_path) ⇒ Boolean
TODO: The old way of matching patterns is flawed, so a new one has been introduced. We keep supporting the old way for a while and issue deprecation warnings when a pattern is used that produced a match with the old way but doesn't match with the new.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/rubocop/path_util.rb', line 21 def match_path?(pattern, path, config_path) case pattern when String basename = File.basename(path) old_match = basename == pattern || File.fnmatch?(pattern, path) new_match = File.fnmatch?(pattern, path, File::FNM_PATHNAME) if old_match && !new_match # Patterns like dir/**/* will produce an old match for files # beginning with dot, but not a new match. That's a special case, # though. Not what we want to handle here. And this is a match that # we overrule. Only patterns like dir/**/.* can be used to match dot # files. Hidden directories (starting with a dot) will also produce # an old match, just like hidden files. return false if path.split(File::SEPARATOR).any? { |s| hidden?(s) } issue_deprecation_warning(basename, pattern, config_path) end old_match || new_match when Regexp path =~ pattern end end |