class Covered::Coverage

Attributes

annotations[R]
counts[R]
path[R]
total[R]

Public Class Methods

new(path, counts = []) click to toggle source
# File lib/covered/coverage.rb, line 39
def initialize(path, counts = [])
        @path = path
        @counts = counts
        @total = 0
        
        @annotations = {}
        
        @executable_lines = nil
        @executed_lines = nil
end

Public Instance Methods

[](lineno) click to toggle source
# File lib/covered/coverage.rb, line 84
def [] lineno
        @counts[lineno]
end
annotate(lineno, annotation) click to toggle source
# File lib/covered/coverage.rb, line 88
def annotate(lineno, annotation)
        @annotations[lineno] ||= []
        @annotations[lineno] << annotation
end
executable_count() click to toggle source
# File lib/covered/coverage.rb, line 107
def executable_count
        executable_lines.count
end
executable_lines() click to toggle source
# File lib/covered/coverage.rb, line 103
def executable_lines
        @executable_lines ||= @counts.compact
end
executed_count() click to toggle source
# File lib/covered/coverage.rb, line 115
def executed_count
        executed_lines.count
end
executed_lines() click to toggle source
# File lib/covered/coverage.rb, line 111
def executed_lines
        @executed_lines ||= executable_lines.reject(&:zero?)
end
freeze() click to toggle source
Calls superclass method
# File lib/covered/coverage.rb, line 64
def freeze
        return self if frozen?
        
        @counts.freeze
        @annotations.freeze
        
        executable_lines
        executed_lines
        
        super
end
mark(lineno, value = 1) click to toggle source
# File lib/covered/coverage.rb, line 93
def mark(lineno, value = 1)
        @total += value
        
        if @counts[lineno]
                @counts[lineno] += value
        else
                @counts[lineno] = value
        end
end
missing_count() click to toggle source
# File lib/covered/coverage.rb, line 119
def missing_count
        executable_count - executed_count
end
print(output) click to toggle source
read(&block) click to toggle source
# File lib/covered/coverage.rb, line 56
def read(&block)
        if block_given?
                File.open(@path, "r", &block)
        else
                File.read(@path)
        end
end
to_a() click to toggle source
# File lib/covered/coverage.rb, line 76
def to_a
        @counts
end
to_s() click to toggle source
# File lib/covered/coverage.rb, line 129
def to_s
        "\#<#{self.class} path=#{@path} #{percentage.to_f.round(2)}% covered>"
end
zero?() click to toggle source
# File lib/covered/coverage.rb, line 80
def zero?
        @total.zero?
end