lib/tasks/quality.rake
# frozen_string_literal: true
begin
if ENV['CI']
namespace :spec do
task cane: ['spec']
end
else
require 'cane/rake_task'
desc 'Run cane to check quality metrics'
Cane::RakeTask.new(:cane_quality) do |cane|
cane.add_threshold 'coverage/covered_percent', :>=, 99
cane.no_style = false
cane.style_measure = 1000
cane.no_doc = true
cane.abc_max = 25
end
namespace :spec do
task cane: %w[spec cane_quality]
end
end
rescue LoadError
warn "cane not available."
namespace :spec do
task cane: ['spec']
end
end
begin
require 'rubocop/rake_task'
t = RuboCop::RakeTask.new
t.options << '-D'
rescue LoadError
warn 'rubocop not available.'
task rubocop: ['spec']
end
namespace :spec do
task quality: %w[cane rubocop]
end