Class: Evilution::Runner::SubjectPipeline

Inherits:
Object
  • Object
show all
Defined in:
lib/evilution/runner/subject_pipeline.rb

Instance Method Summary collapse

Constructor Details

#initialize(config, parser:) ⇒ SubjectPipeline

Returns a new instance of SubjectPipeline.



9
10
11
12
# File 'lib/evilution/runner/subject_pipeline.rb', line 9

def initialize(config, parser:)
  @config = config
  @parser = parser
end

Instance Method Details

#callObject



14
15
16
17
18
19
20
# File 'lib/evilution/runner/subject_pipeline.rb', line 14

def call
  subjects = parse_subjects
  subjects = filter_by_descendants(subjects) if descendants_target?
  subjects = filter_by_target(subjects) if method_target?
  subjects = (subjects) if config.line_ranges?
  subjects
end

#target_filesObject



22
23
24
25
26
27
28
29
30
# File 'lib/evilution/runner/subject_pipeline.rb', line 22

def target_files
  @target_files ||= if source_glob_target?
                      resolve_source_glob
                    elsif !config.target_files.empty?
                      config.target_files
                    else
                      Evilution::Git::ChangedFiles.new.call
                    end
end