class SimpleCov::Formatter::CoverBoardFormatter

Constants

DOT_FILE
PRECISSION

michal says: LATERRRRR

TIMESTAMP
VERSION

Public Class Methods

new() click to toggle source
# File lib/simplecov-coverboard.rb, line 19
def initialize
  @uid = load_from_config
end

Public Instance Methods

format(result) click to toggle source
# File lib/simplecov-coverboard.rb, line 23
def format(result)
  send_to_api(create_message(metrics(result)))
end

Private Instance Methods

create_message(metrics) click to toggle source
# File lib/simplecov-coverboard.rb, line 44
def create_message metrics
  app_message = ApplicationMessage.new
  app_message.uid = @uid
  app_message.ts = TIMESTAMP
  app_message.metrics = metrics
  return app_message.to_json
end
load_from_config() click to toggle source
# File lib/simplecov-coverboard.rb, line 58
def load_from_config
  config = YAML.load(File.read("#{Dir.pwd}/#{DOT_FILE}"))
  @uid = config['coverboard']['uid']
end
metrics(numbers) click to toggle source
# File lib/simplecov-coverboard.rb, line 32
def metrics(numbers)
  prefix = 'coverage-'

  metrics = Hash.new
  numbers.groups.each do |key, value|
    key = prefix + key.gsub(' ','-').downcase
    metrics[key] = value.covered_percent.round(PRECISSION)
  end
  metrics[prefix.gsub('-','')] = numbers.source_files.covered_percent.round(PRECISSION)
  metrics
end
send_to_api(msg) click to toggle source
# File lib/simplecov-coverboard.rb, line 52
def send_to_api msg
  connector = Connector.new
  puts connector.post msg
end