75 lines
2 KiB
Ruby
75 lines
2 KiB
Ruby
class Report
|
|
# ------------------------------------------------------------------------------------
|
|
private
|
|
# ------------------------------------------------------------------------------------
|
|
|
|
def state_arguments()
|
|
puts
|
|
puts "-----------------------------------------------------------------"
|
|
puts " directory to scan = #{@args[0]}"
|
|
puts " obsolete_uris_file = #{@args[1]}"
|
|
puts " known exceptions file = #{@args[2]}"
|
|
puts " complete = #{!@args[3].nil?}"
|
|
puts "-----------------------------------------------------------------"
|
|
puts
|
|
end
|
|
|
|
def file_summary()
|
|
puts " scanned #{@file_count} files"
|
|
@extensions_count.sort.each do |pair|
|
|
puts " #{pair[0]} #{pair[1]}"
|
|
end
|
|
puts "-----------------------------------------------------------------"
|
|
puts
|
|
end
|
|
|
|
def collate_and_list_events()
|
|
hash = Hash.new{|h, k| []}
|
|
@events.each do |event|
|
|
hash[event.path] = hash[event.path] << event
|
|
end
|
|
|
|
# puts "FLAT: #{hash.to_a.flatten}"
|
|
hash.sort.each do |path, events|
|
|
puts "#{path}"
|
|
events.sort{|a, b| a.line_number <=> b.line_number }.each do |e|
|
|
puts " #{e.line_number} #{e.line}"
|
|
puts " #{e.is_localname ? "Localname" : "URI"} #{e.string}"
|
|
end
|
|
puts "--------------------"
|
|
end
|
|
end
|
|
|
|
def list_events()
|
|
@events.each do |event|
|
|
puts "Event: #{event}"
|
|
end
|
|
end
|
|
|
|
# ------------------------------------------------------------------------------------
|
|
public
|
|
# ------------------------------------------------------------------------------------
|
|
|
|
def initialize(args)
|
|
@args = args;
|
|
@file_count = 0
|
|
@extensions_count = Hash.new(0)
|
|
@events = []
|
|
end
|
|
|
|
def register_file(path)
|
|
@file_count += 1
|
|
@extensions_count[File.extname(path)] += 1
|
|
end
|
|
|
|
def add_event(event)
|
|
@events << event
|
|
end
|
|
|
|
def report()
|
|
state_arguments()
|
|
file_summary()
|
|
# list_events()
|
|
collate_and_list_events()
|
|
end
|
|
end
|