Class: Polyrun::Coverage::ExampleDiff::TrackFilter
- Inherits:
-
Object
- Object
- Polyrun::Coverage::ExampleDiff::TrackFilter
- Defined in:
- lib/polyrun/coverage/example_diff_track_filter.rb
Overview
Path inclusion for scoped snapshots and track-aware diffs.
Instance Method Summary collapse
- #include_path?(path) ⇒ Boolean
-
#initialize(root:, track_under: nil, ignore_paths: []) ⇒ TrackFilter
constructor
A new instance of TrackFilter.
Constructor Details
#initialize(root:, track_under: nil, ignore_paths: []) ⇒ TrackFilter
Returns a new instance of TrackFilter.
6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/polyrun/coverage/example_diff_track_filter.rb', line 6 def initialize(root:, track_under: nil, ignore_paths: []) @root = root ? File.(root) : nil @track_under = Array(track_under).map(&:to_s).reject(&:empty?) @ignore = Array(ignore_paths).map(&:to_s).reject(&:empty?) @prefixes = if @root && !@track_under.empty? @track_under.map { |directory| File.join(@root, directory) } else [] end end |
Instance Method Details
#include_path?(path) ⇒ Boolean
18 19 20 21 22 23 24 25 |
# File 'lib/polyrun/coverage/example_diff_track_filter.rb', line 18 def include_path?(path) absolute = absolute_path(path) return false if ignored?(absolute) return true if @prefixes.empty? @prefixes.any? { |prefix| absolute == prefix || absolute.start_with?(prefix + "/") } end |