Start matching pathname directory prefixes more rigorously #1175
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #1174
Motivation
The simplistic
start_with?
check was not sufficient to match that a given file/folder was under a given folder, since we were not explicitly checking for full folder name matches. For example, ifpath = "/foo/bar-gem/baz"
andfolder = "/foo/bar"
, thenpath.start_with?(folder)
would returntrue
, butpath
is not under thefolder
directory.Implementation
This commit fixes the problem by matching
folder
to any of the parent directories ofpath
by using thePathname#ascend
method to get all parent directory prefixes of apath
.Tests
Added a test that fails without the fix.