-
Hartley McGuire authored
* Enable RubyTracker to evaluate interpolated paths Previously, neither the PrismRenderParser nor the RipperRenderParser would consider an interpolated string as a dependency. The RubyTracker even included a line to explcitly filter out interpolated paths returned from the RipperRenderParser since they would end in a "/". However, the RubyTracker does include the ability to evaluate explicit "Template Dependency" comments with wildcard nodes. This commit extends the RipperRenderParser and PrismRenderParser to convert interpolated strings into wildcard globs. Additionally, it changes the RubyTracker to evaluate wildcards the same for both implicit and explicit dependencies. This enables the RubyTracker to identify potential dependencies for interpolated renders, which it was previously unable to do. * Enable ERBTracker to evaluate interpolated paths This ensures all three implementations (ERBTracker, RipperRenderParser, and PrismRenderParser) are consistent in their ability to evaluate interpolated paths. * Extract WildcardResolver to remove duplication Since both the ERBTracker and RubyTracker now support resolving interpolated template paths against the view_paths, the logic for this resolution can be extracted to its own class. * Update CHANGELOG.md --------- Co-authored-by:
John Hawthorn <john@hawthorn.email>
Hartley McGuire authored* Enable RubyTracker to evaluate interpolated paths Previously, neither the PrismRenderParser nor the RipperRenderParser would consider an interpolated string as a dependency. The RubyTracker even included a line to explcitly filter out interpolated paths returned from the RipperRenderParser since they would end in a "/". However, the RubyTracker does include the ability to evaluate explicit "Template Dependency" comments with wildcard nodes. This commit extends the RipperRenderParser and PrismRenderParser to convert interpolated strings into wildcard globs. Additionally, it changes the RubyTracker to evaluate wildcards the same for both implicit and explicit dependencies. This enables the RubyTracker to identify potential dependencies for interpolated renders, which it was previously unable to do. * Enable ERBTracker to evaluate interpolated paths This ensures all three implementations (ERBTracker, RipperRenderParser, and PrismRenderParser) are consistent in their ability to evaluate interpolated paths. * Extract WildcardResolver to remove duplication Since both the ERBTracker and RubyTracker now support resolving interpolated template paths against the view_paths, the logic for this resolution can be extracted to its own class. * Update CHANGELOG.md --------- Co-authored-by:
John Hawthorn <john@hawthorn.email>
Loading