class Jacoco::SAXParser
Sax parser for quickly finding class elements in Jacoco
report
Attributes
class_names[RW]
classes[RW]
Public Class Methods
new(classes)
click to toggle source
Calls superclass method
# File lib/jacoco/sax_parser.rb, line 10 def initialize(classes) super() @class_names = classes @classes = [] @current_class = nil @subelement_index = 0 end
Public Instance Methods
characters(string)
click to toggle source
# File lib/jacoco/sax_parser.rb, line 52 def characters(string); end
end_element(name)
click to toggle source
# File lib/jacoco/sax_parser.rb, line 54 def end_element(name) @subelement_index -= 1 @current_class = nil if name.eql? 'class' end
start_class(attrs)
click to toggle source
# File lib/jacoco/sax_parser.rb, line 40 def start_class(attrs) @subelement_index = 0 return unless @class_names.include?(Hash[attrs]['name']) c = Jacoco::Class.new c.name = Hash[attrs]['name'] c.counters = [] @current_class = c @classes.push c end
start_counter(attrs)
click to toggle source
# File lib/jacoco/sax_parser.rb, line 29 def start_counter(attrs) return unless !@current_class.nil? && @subelement_index == 1 counter = Jacoco::Counter.new counter.type = Hash[attrs]['type'] counter.missed = Hash[attrs]['missed'].to_i counter.covered = Hash[attrs]['covered'].to_i @current_class.counters.push(counter) end
start_element(name, attrs = [])
click to toggle source
# File lib/jacoco/sax_parser.rb, line 18 def start_element(name, attrs = []) case name when 'class' start_class(attrs) when 'counter' start_counter(attrs) end @subelement_index += 1 end