Rakefile in rails-session_cookie-0.2.1 vs Rakefile in rails-session_cookie-0.2.2

- old
+ new

@@ -1,8 +1,34 @@ require 'bundler/gem_tasks' require 'rspec/core/rake_task' require 'rubocop/rake_task' +require 'codeclimate-test-reporter' RSpec::Core::RakeTask.new(:spec) RuboCop::RakeTask.new(:rubocop) -task default: %i[rubocop spec] +# Same as bin/codeclimate-test-reporter, but don't complain if no coverage found +task :coverage do + exit unless ENV['CI'] + + repo_token = ENV['CODECLIMATE_REPO_TOKEN'] + if repo_token.nil? || repo_token.empty? + STDERR.puts 'Cannot post results: environment variable CODECLIMATE_REPO_TOKEN must be set.' + exit + end + + COVERAGE_FILE = ARGV.first || 'coverage/.resultset.json' + unless File.exist?(COVERAGE_FILE) + STDERR.puts 'Coverage results not found' + exit + end + + begin + results = JSON.parse(File.read(COVERAGE_FILE)) + rescue JSON::ParserError => e + abort "Error encountered while parsing #{COVERAGE_FILE}: #{e}" + end + + CodeClimate::TestReporter.run(results) +end + +task default: %i[rubocop spec coverage]