Class: Coveralls::SimpleCov::Formatter
- Inherits:
-
Object
- Object
- Coveralls::SimpleCov::Formatter
- Defined in:
- lib/coveralls/simplecov.rb
Instance Method Summary collapse
- #display_error(e) ⇒ Object
- #display_result(result) ⇒ Object
- #format(result) ⇒ Object
- #get_source_files(result) ⇒ Object
- #output_message(result) ⇒ Object
- #short_filename(filename) ⇒ Object
Instance Method Details
#display_error(e) ⇒ Object
77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/coveralls/simplecov.rb', line 77 def display_error(e) Coveralls::Output.puts "Coveralls encountered an exception:", :color => "red" Coveralls::Output.puts e.class.to_s, :color => "red" Coveralls::Output.puts e., :color => "red" e.backtrace.each do |line| Coveralls::Output.puts line, :color => "red" end if e.backtrace if e.respond_to?(:response) && e.response Coveralls::Output.puts e.response.to_s, :color => "red" end false end |
#display_result(result) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/coveralls/simplecov.rb', line 5 def display_result(result) # Log which files would be submitted. if result.files.length > 0 Coveralls::Output.puts "[Coveralls] Some handy coverage stats:" else Coveralls::Output.puts "[Coveralls] There are no covered files.", :color => "yellow" end result.files.each do |f| Coveralls::Output.print " * " Coveralls::Output.print short_filename(f.filename).to_s, :color => "cyan" Coveralls::Output.print " => ", :color => "white" cov = "#{f.covered_percent.round}%" if f.covered_percent > 90 Coveralls::Output.print cov, :color => "green" elsif f.covered_percent > 80 Coveralls::Output.print cov, :color => "yellow" else Coveralls::Output.print cov, :color => "red" end Coveralls::Output.puts "" end true end |
#format(result) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/coveralls/simplecov.rb', line 54 def format(result) unless Coveralls.should_run? if Coveralls.noisy? display_result result end return end # Post to Coveralls. API.post_json "jobs", :source_files => get_source_files(result), :test_framework => result.command_name.downcase, :run_at => result.created_at Coveralls::Output.puts result true rescue Exception => e display_error e end |
#get_source_files(result) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/coveralls/simplecov.rb', line 29 def get_source_files(result) # Gather the source files. source_files = [] result.files.each do |file| properties = {} # Get Source properties[:source] = File.open(file.filename, "rb:utf-8").read # Get the root-relative filename properties[:name] = short_filename(file.filename) # Get the coverage properties[:coverage] = file.coverage.dup # Skip nocov lines file.lines.each_with_index do |line, i| properties[:coverage][i] = nil if line.skipped? end source_files << properties end source_files end |
#output_message(result) ⇒ Object
90 91 92 |
# File 'lib/coveralls/simplecov.rb', line 90 def (result) "Coverage is at #{result.covered_percent.round(2) rescue result.covered_percent.round}%.\nCoverage report sent to Coveralls." end |
#short_filename(filename) ⇒ Object
94 95 96 97 |
# File 'lib/coveralls/simplecov.rb', line 94 def short_filename(filename) filename = filename.gsub(::SimpleCov.root, '.').gsub(/^\.\//, '') if ::SimpleCov.root filename end |