class Xcov::Base

Attributes

coverage[RW]
coverage_color[RW]
displayable_coverage[RW]
id[RW]
name[RW]

Public Class Methods

create_id(name) click to toggle source
# File lib/xcov/model/base.rb, line 64
def self.create_id(name)
  char_map = [('a'..'z'), ('A'..'Z')].map { |i| i.to_a }.flatten
  random = (0...50).map { char_map[rand(char_map.length)] }.join
  pre_hash = "#{random}_#{name}"
  Digest::SHA1.hexdigest(pre_hash)
end
template(name) click to toggle source

Class methods

# File lib/xcov/model/base.rb, line 60
def self.template(name)
  ERB.new(File.read(File.join(File.dirname(__FILE__), "../../../views/", "#{name}.erb")))
end

Public Instance Methods

coverage_emoji() click to toggle source
# File lib/xcov/model/base.rb, line 45
def coverage_emoji
  return "" if @ignored

  if @coverage >= 0.80
    return ":white_check_mark:"
  elsif @coverage >= 0.50
    return ":warning:"
  elsif @coverage >= 0.25
    return ":no_entry_sign:"
  else
    return ":skull:"
  end
end
create_coverage_color() click to toggle source
# File lib/xcov/model/base.rb, line 19
def create_coverage_color
  return "#363636" if @ignored

  if @coverage > 0.8
    return "#1FCB32"
  elsif @coverage > 0.65
    return "#FCFF00"
  elsif @coverage > 0.5
    return "#FF9C00"
  else
    return "#FF0000"
  end
end
create_displayable_coverage() click to toggle source
# File lib/xcov/model/base.rb, line 13
def create_displayable_coverage
  return "-" if @ignored

  "%.2f%%" % [(@coverage*100)]
end
create_summary() click to toggle source
# File lib/xcov/model/base.rb, line 33
def create_summary
  if @coverage > 0.8
    return "Overall coverage is good"
  elsif @coverage > 0.65
    return "There is room for improvement"
  elsif @coverage > 0.5
    return "Almost unmaintainable"
  else
    return "Keep calm and leave the boat"
  end
end