active_model_serializers/.simplecov
2017-08-02 16:10:12 -05:00

49 lines
1.3 KiB
Ruby

# https://github.com/colszowka/simplecov#using-simplecov-for-centralized-config
# see https://github.com/colszowka/simplecov/blob/master/lib/simplecov/defaults.rb
# vim: set ft=ruby
ENV['FULL_BUILD'] ||= ENV['CI']
## CONFIGURE SIMPLECOV
SimpleCov.profiles.define 'app' do
coverage_dir 'coverage'
load_profile 'test_frameworks'
add_group 'Libraries', 'lib'
add_group 'Long files' do |src_file|
src_file.lines.count > 100
end
class MaxLinesFilter < SimpleCov::Filter
def matches?(source_file)
source_file.lines.count < filter_argument
end
end
add_group 'Short files', MaxLinesFilter.new(5)
# Exclude these paths from analysis
add_filter '/config/'
add_filter '/db/'
add_filter 'tasks'
add_filter '/.bundle/'
end
generate_report = !!(ENV['COVERAGE'] =~ /\Atrue\z/i)
running_ci = !!(ENV['FULL_BUILD'] =~ /\Atrue\z/i)
generate_result = running_ci || generate_report
require_relative 'scripts/coverage_report'
reporter = CoverageReport.new
if generate_report
reporter.configure_to_generate_report!
SimpleCov.at_exit do
reporter.generate_report!
end
end
if generate_result
# only start when generating a result
SimpleCov.start 'app'
STDERR.puts '[COVERAGE] Running'
reporter.configure_to_generate_result!
end
SimpleCov.formatters = reporter.formatters