class SimpleCov::SourceFile::Line
Representation of a single line in a source file including this specific line's source code, #line_number and code coverage, with the coverage being either nil (coverage not applicable, e.g. comment line), 0 (line not covered) or >1 (the amount of times the line was executed)
Attributes
The coverage data for this line: either nil (never), 0 (missed) or >=1 (times covered)
The line number in the source file. Aliased as :line, :number
The line number in the source file. Aliased as :line, :number
The line number in the source file. Aliased as :line, :number
Whether this line was skipped
The source code for this line. Aliased as :source
The source code for this line. Aliased as :source
Public Class Methods
# File lib/simplecov/source_file.rb, line 27 def initialize(src, line_number, coverage) fail ArgumentError, "Only String accepted for source" unless src.is_a?(String) fail ArgumentError, "Only Fixnum accepted for line_number" unless line_number.is_a?(Fixnum) fail ArgumentError, "Only Fixnum and nil accepted for coverage" unless coverage.is_a?(Fixnum) || coverage.nil? @src, @line_number, @coverage = src, line_number, coverage @skipped = false end
Public Instance Methods
Returns true if this is a line that has been covered
# File lib/simplecov/source_file.rb, line 41 def covered? !never? && !skipped? && coverage > 0 end
Returns true if this is a line that should have been covered, but was not
# File lib/simplecov/source_file.rb, line 36 def missed? !never? && !skipped? && coverage.zero? end
Returns true if this line is not relevant for coverage
# File lib/simplecov/source_file.rb, line 46 def never? !skipped? && coverage.nil? end
Flags this line as skipped
# File lib/simplecov/source_file.rb, line 51 def skipped! @skipped = true end
Returns true if this line was skipped, false otherwise. Lines are skipped if they are wrapped with # :nocov: comment lines.
# File lib/simplecov/source_file.rb, line 57 def skipped? !!skipped end
The status of this line - either covered, missed, skipped or never. Useful i.e. for direct use as a css class in report generation
# File lib/simplecov/source_file.rb, line 63 def status return "skipped" if skipped? return "never" if never? return "missed" if missed? return "covered" if covered? end