Class: Coveralls::SimpleCov::Formatter
- Inherits:
-
Object
- Object
- Coveralls::SimpleCov::Formatter
- Defined in:
- lib/coveralls/simplecov.rb
Instance Method Summary collapse
- #branches(simplecov_branches) ⇒ Object
- #display_error(error) ⇒ Object
- #display_result(result) ⇒ Object
- #format(result) ⇒ Object
- #get_source_files(result) ⇒ Object
- #output_message(result) ⇒ Object
- #short_filename(filename) ⇒ Object
Instance Method Details
#branches(simplecov_branches) ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/coveralls/simplecov.rb', line 61 def branches(simplecov_branches) branches_properties = [] simplecov_branches.each do |branch_data, data| branch_number = 0 line_number = branch_data.split(', ')[2].to_i data.each_value do |hits| branch_number += 1 branches_properties.push(line_number, 0, branch_number, hits) end end branches_properties end |
#display_error(error) ⇒ Object
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/coveralls/simplecov.rb', line 94 def display_error(error) Coveralls::Output.puts 'Coveralls encountered an exception:', color: 'red' Coveralls::Output.puts error.class.to_s, color: 'red' Coveralls::Output.puts error., color: 'red' error.backtrace&.each do |line| Coveralls::Output.puts line, color: 'red' end if error.respond_to?(:response) && error.response Coveralls::Output.puts error.response.to_s, color: 'red' end false end |
#display_result(result) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/coveralls/simplecov.rb', line 8 def display_result(result) # Log which files would be submitted. if result.files.empty? Coveralls::Output.puts '[Coveralls] There are no covered files.', color: 'yellow' else Coveralls::Output.puts '[Coveralls] Some handy coverage stats:' 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
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/coveralls/simplecov.rb', line 74 def format(result) unless Coveralls.should_run? display_result result if Coveralls.noisy? 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 StandardError => e display_error e end |
#get_source_files(result) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/coveralls/simplecov.rb', line 34 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_data['lines'] properties[:branches] = branches(file.coverage_data['branches']) if file.coverage_data['branches'] # 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
110 111 112 113 114 115 116 |
# File 'lib/coveralls/simplecov.rb', line 110 def (result) "Coverage is at #{begin result.covered_percent.round(2) rescue StandardError result.covered_percent.round end}%.\nCoverage report sent to Coveralls." end |