123456789_123456789_123456789_123456789_123456789_

Class: SimpleCov::SourceFile::Method

Relationships & Source Files
Inherits: Object
Defined in: lib/simplecov/source_file/method.rb

Overview

Represents a single method detected in coverage data. Provides helpers similar to Branch for coverage status.

Class Method Summary

Instance Attribute Summary

Instance Method Summary

Constructor Details

.new(source_file, info, coverage) ⇒ Method

[ GitHub ]

  
# File 'lib/simplecov/source_file/method.rb', line 11

def initialize(source_file, info, coverage)
  @source_file = source_file
  @class_name, @method_name, @start_line, @start_col, @end_line, @end_col = info
  @coverage = coverage
end

Instance Attribute Details

#class_name (readonly)

[ GitHub ]

  
# File 'lib/simplecov/source_file/method.rb', line 8

attr_reader :source_file, :coverage, :class_name, :method_name,
            :start_line, :start_col, :end_line, :end_col

#coverage (readonly)

[ GitHub ]

  
# File 'lib/simplecov/source_file/method.rb', line 8

attr_reader :source_file, :coverage, :class_name, :method_name,
            :start_line, :start_col, :end_line, :end_col

#covered?Boolean (readonly)

[ GitHub ]

  
# File 'lib/simplecov/source_file/method.rb', line 17

def covered?
  !skipped? && coverage.positive?
end

#end_col (readonly)

[ GitHub ]

  
# File 'lib/simplecov/source_file/method.rb', line 8

attr_reader :source_file, :coverage, :class_name, :method_name,
            :start_line, :start_col, :end_line, :end_col

#end_line (readonly)

[ GitHub ]

  
# File 'lib/simplecov/source_file/method.rb', line 8

attr_reader :source_file, :coverage, :class_name, :method_name,
            :start_line, :start_col, :end_line, :end_col

#method_name (readonly)

[ GitHub ]

  
# File 'lib/simplecov/source_file/method.rb', line 8

attr_reader :source_file, :coverage, :class_name, :method_name,
            :start_line, :start_col, :end_line, :end_col

#missed?Boolean (readonly)

[ GitHub ]

  
# File 'lib/simplecov/source_file/method.rb', line 27

def missed?
  !skipped? && coverage.zero?
end

#skipped?Boolean (readonly)

[ GitHub ]

  
# File 'lib/simplecov/source_file/method.rb', line 21

def skipped?
  return @skipped if defined?(@skipped)

  @skipped = lines.all?(&:skipped?)
end

#source_file (readonly)

[ GitHub ]

  
# File 'lib/simplecov/source_file/method.rb', line 8

attr_reader :source_file, :coverage, :class_name, :method_name,
            :start_line, :start_col, :end_line, :end_col

#start_col (readonly)

[ GitHub ]

  
# File 'lib/simplecov/source_file/method.rb', line 8

attr_reader :source_file, :coverage, :class_name, :method_name,
            :start_line, :start_col, :end_line, :end_col

#start_line (readonly)

[ GitHub ]

  
# File 'lib/simplecov/source_file/method.rb', line 8

attr_reader :source_file, :coverage, :class_name, :method_name,
            :start_line, :start_col, :end_line, :end_col

Instance Method Details

#lines

[ GitHub ]

  
# File 'lib/simplecov/source_file/method.rb', line 31

def lines
  @lines ||= source_file.lines[(start_line - 1)..(end_line - 1)]
end

#to_s

[ GitHub ]

  
# File 'lib/simplecov/source_file/method.rb', line 35

def to_s
  "#{class_name}##{method_name}"
end