class SimpleCov::Formatter::ShieldFormatter
Constants
- Options
- TEXT
- VERSION
Public Class Methods
filename()
click to toggle source
# File lib/simplecov-formatter-shield.rb, line 5 def filename return @filename ||= 'shield.png' end
filename=(filename)
click to toggle source
# File lib/simplecov-formatter-shield.rb, line 9 def filename=(filename) @filename = filename end
generator()
click to toggle source
# File lib/simplecov-formatter-shield.rb, line 13 def generator self.generator = :shields_io if @generator.nil? return @generator end
generator=(generator)
click to toggle source
# File lib/simplecov-formatter-shield.rb, line 18 def generator=(generator) @generator = case generator when :svg require 'simplecov-formatter-shield/generators/svg' SimpleCov::Formatter::ShieldFormatter::Generators::Svg when :png require 'simplecov-formatter-shield/generators/png' SimpleCov::Formatter::ShieldFormatter::Generators::Png when :shields_io require 'simplecov-formatter-shield/generators/shield_io' SimpleCov::Formatter::ShieldFormatter::Generators::ShieldsIO else Logger.warn("Unknown generator #{generator}; pick one of: :svg, :png, :shields_io") end return @generator end
Public Instance Methods
format(result)
click to toggle source
# File lib/simplecov-formatter-shield.rb, line 40 def format(result) percentage = result.covered_percent.to_f.round(2) options = Options.new(TEXT, color(percentage), status(percentage)) puts "Created shield at #{output_path}" if write(image(options)) rescue Generators::Error => error puts "Could not create shield: #{output_path} => #{error.message}" rescue IOError => error puts "Could not write file at #{output_path} => #{error.message}" end
Private Instance Methods
color(percentage)
click to toggle source
# File lib/simplecov-formatter-shield.rb, line 63 def color(percentage) case percentage when 95..100 :brightgreen when 80..95 :green when 70..80 :yellowgreen when 60..70 :yellow when 40..60 :orange else :red end end
image(options)
click to toggle source
# File lib/simplecov-formatter-shield.rb, line 86 def image(options) generator = self.class.generator.new(options) return generator.generate end
output_path()
click to toggle source
# File lib/simplecov-formatter-shield.rb, line 58 def output_path return File.join(SimpleCov.coverage_path, self.class.filename) end
status(percentage)
click to toggle source
# File lib/simplecov-formatter-shield.rb, line 81 def status(percentage) return "#{percentage}%" end
write(bytes)
click to toggle source
Private API
# File lib/simplecov-formatter-shield.rb, line 51 def write(bytes) File.open(output_path, 'wb') do |file| file << bytes end end