Skip to content
  • Hartley McGuire's avatar
    13df150c
    Enable DependencyTracker to evaluate interpolated paths (#50944) · 13df150c
    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: default avatarJohn Hawthorn <john@hawthorn.email>
    13df150c
    Enable DependencyTracker to evaluate interpolated paths (#50944)
    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: default avatarJohn Hawthorn <john@hawthorn.email>
Loading