# File lib/simplecov-html.rb, line 13 def format(result) Dir[File.join(File.dirname(__FILE__), '../public/*')].each do |path| FileUtils.cp_r(path, asset_output_path) end File.open(File.join(output_path, "index.html"), "w+") do |file| file.puts template('layout').result(binding) end puts output_message(result) end
# File lib/simplecov-html.rb, line 24 def output_message(result) "Coverage report generated for #{result.command_name} to #{output_path}. #{result.covered_lines} / #{result.total_lines} LOC (#{result.covered_percent.round(2)}%) covered." end
# File lib/simplecov-html.rb, line 39 def asset_output_path return @asset_output_path if defined? @asset_output_path and @asset_output_path @asset_output_path = File.join(output_path, 'assets', SimpleCov::Formatter::HTMLFormatter::VERSION) FileUtils.mkdir_p(@asset_output_path) @asset_output_path end
# File lib/simplecov-html.rb, line 46 def assets_path(name) File.join('./assets', SimpleCov::Formatter::HTMLFormatter::VERSION, name) end
# File lib/simplecov-html.rb, line 62 def coverage_css_class(covered_percent) if covered_percent > 90 'green' elsif covered_percent > 80 'yellow' else 'red' end end
Returns a table containing the given source files
# File lib/simplecov-html.rb, line 56 def formatted_file_list(title, source_files) title_id = title.gsub(/^[^a-zA-Z]+/, '').gsub(/[^a-zA-Z0-9\-\_]/, '') title_id # Ruby will give a warning when we do not use this except via the binding :( FIXME template('file_list').result(binding) end
Returns the html for the given source_file
# File lib/simplecov-html.rb, line 51 def formatted_source_file(source_file) template('source_file').result(binding) end
Return a (kind of) unique id for the source file given. Uses SHA1 on path for the id
# File lib/simplecov-html.rb, line 83 def id(source_file) Digest::SHA1.hexdigest(source_file.filename) end
# File lib/simplecov-html.rb, line 95 def link_to_source_file(source_file) %Q(<a href="##{id source_file}" class="src_link" title="#{shortened_filename source_file}">#{shortened_filename source_file}</a>) end
# File lib/simplecov-html.rb, line 35 def output_path SimpleCov.coverage_path end
# File lib/simplecov-html.rb, line 91 def shortened_filename(source_file) source_file.filename.gsub(SimpleCov.root, '.').gsub(/^\.\//, '') end
# File lib/simplecov-html.rb, line 72 def strength_css_class(covered_strength) if covered_strength > 1 'green' elsif covered_strength == 1 'yellow' else 'red' end end
Returns the an erb instance for the template of given name
# File lib/simplecov-html.rb, line 31 def template(name) ERB.new(File.read(File.join(File.dirname(__FILE__), '../views/', "#{name}.erb"))) end
# File lib/simplecov-html.rb, line 87 def timeago(time) "<abbr class=\"timeago\" title=\"#{time.iso8601}\">#{time.iso8601}</abbr>" end