Rakefile in relevance-castronaut-0.3.5 vs Rakefile in relevance-castronaut-0.3.6
- old
+ new
@@ -14,10 +14,11 @@
CURRENT_VERSION = '0.1.0'
$package_version = CURRENT_VERSION
desc "Run all examples with RCov"
Spec::Rake::SpecTask.new('specs_with_rcov') do |t|
+ ENV["test"] = "true"
t.spec_files = FileList['spec/**/*.rb']
t.rcov = true
t.rcov_opts = ['--text-report', '--exclude', "spec,Library,lib/castronaut/db,#{ENV['GEM_HOME']}", '--sort', 'coverage']
t.spec_opts = ['-cfn']
end
@@ -28,20 +29,20 @@
t.rcov = false
t.spec_opts = ['-cfn']
end
RCov::VerifyTask.new(:verify_coverage => :specs_with_rcov) do |t|
- t.threshold = 100.0
+ t.threshold = 99.2
t.index_html = 'coverage/index.html'
end
namespace :ssl do
desc "Generate a test SSL certificate for development"
task :generate do
FileUtils.mkdir_p('ssl') unless File.exist?('ssl')
-
+
if %x{which openssl}.strip.size == 0
puts "Unable to locate openssl, please make sure you have it installed and in your path."
else
system("openssl req -x509 -nodes -days 365 -subj '/C=US/ST=NC/L=CH/CN=localhost' -newkey rsa:1024 -keyout ssl/devcert.pem -out ssl/devcert.pem")
end
@@ -50,50 +51,50 @@
end
desc "Flog the code, keeping things under control by using a threshold"
task :flog do
threshold = 135.0
-
+
report_path = File.expand_path(File.join(File.dirname(__FILE__), 'coverage'))
FileUtils.mkdir_p(report_path)
-
+
system "echo '<pre>' > #{report_path}/flog.html"
system "flog -a app/ lib/ >> #{report_path}/flog.html" do |ok, response|
unless ok
puts "Flog failed with exit status: #{response.exitstatus}"
exit 1
end
end
-
+
flog_output = File.read("#{report_path}/flog.html")
output_lines = flog_output.split("\n")
-
+
total_score = output_lines[1].split("=").last.strip.to_f
all_scores = output_lines.select {|line| line =~ /#/ }
all_scores.reject { }
- total_methods = all_scores.length
+ total_methods = all_scores.length
puts "Flog:"
puts "=" * 40
puts " Average Score Per Method: #{total_score / total_methods}"
top_methods = all_scores.first(3)
threshold_failed = false
-
+
top_methods.each_with_index do |score_with_name, index|
score_with_name =~ /\((.*)\)/
score = $1.to_f
score_with_name =~ /^(.*):/
method = $1
-
+
puts " #{index.next}) #{method} (#{score}) #{"(FAILED! Over threshold of #{threshold})" if score > threshold}"
unless threshold_failed
threshold_failed = score > threshold
end
end
-
+
exit(1) if threshold_failed
-
+
exit(0)
end
desc 'Build and install the gem'
task :gem do