Class: Uncov::Finder

Inherits:
Object
  • Object
show all
Includes:
Cache
Defined in:
lib/uncov/finder.rb

Overview

collects information about the files from different sources

Defined Under Namespace

Modules: GitBase, Simplecov Classes: FileSystem, Files, Git, GitDiff, Nocov

Instance Method Summary collapse

Constructor Details

#initialize(simplecov_trigger) ⇒ Finder

Returns a new instance of Finder.



7
8
9
# File 'lib/uncov/finder.rb', line 7

def initialize(simplecov_trigger)
  @simplecov_trigger = simplecov_trigger
end

Instance Method Details

#build_line(file_name, line_number, context: false) ⇒ Object



11
12
13
14
15
16
17
18
19
20
# File 'lib/uncov/finder.rb', line 11

def build_line(file_name, line_number, context: false)
  Uncov::Report::File::Line.new(
    number: line_number,
    content: file_system_files.line(file_name, line_number),
    nocov: nocov_files.line(file_name, line_number),
    simplecov: simplecov_files.line(file_name, line_number),
    git_diff: git_diff_files.line?(file_name, line_number),
    context:
  )
end

#file_system_filesObject



22
23
24
# File 'lib/uncov/finder.rb', line 22

def file_system_files
  Uncov::Finder::Files.new(file_system_finder.code_files)
end

#git_diff_filesObject



30
31
32
# File 'lib/uncov/finder.rb', line 30

def git_diff_files
  Uncov::Finder::Files.new(git_diff_finder.code_files)
end

#git_filesObject



26
27
28
# File 'lib/uncov/finder.rb', line 26

def git_files
  Uncov::Finder::Files.new(git_finder.code_files)
end

#nocov_filesObject



34
35
36
37
38
# File 'lib/uncov/finder.rb', line 34

def nocov_files
  cache(:nocov_files) do
    Uncov::Finder::Files.new(Uncov::Finder::Nocov.new.files(file_system_files))
  end
end

#simplecov_filesObject



40
41
42
43
44
# File 'lib/uncov/finder.rb', line 40

def simplecov_files
  cache(:simplecov_files) do
    Uncov::Finder::Files.new(Uncov::Finder::Simplecov.files(simplecov_trigger_files))
  end
end