From 6140278f6b64201a5321fad5d8787ec6ee20ee2f Mon Sep 17 00:00:00 2001 From: mynyml Date: Sun, 7 Feb 2010 15:55:42 -0500 Subject: [PATCH] Add Rakefile --- Rakefile | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Rakefile diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..da93956 --- /dev/null +++ b/Rakefile @@ -0,0 +1,39 @@ +def gem_opt + defined?(Gem) ? "-rubygems" : "" +end + +# -------------------------------------------------- +# Tests +# -------------------------------------------------- +task(:default => "test:all") + +namespace(:test) do + + desc "Run all tests" + task(:all) do + exit system("ruby #{gem_opt} -I.:lib:test -e'%w( #{Dir['test/**/*_test.rb'].join(' ')} ).each {|p| require p }'") + end + + desc "Run all tests on multiple ruby versions (requires rvm)" + task(:portability) do + versions = %w( 1.8.6 1.8.7 1.9 1.9.2 ) + versions.each do |version| + system <<-BASH + bash -c 'source ~/.rvm/scripts/rvm; + rvm use #{version}; + echo "--------- #{version} ----------"; + rake -s test:all' + BASH + end + end +end + +# -------------------------------------------------- +# Docs +# -------------------------------------------------- +desc "Generate YARD Documentation" +task :yardoc do + require 'yard' + YARD::CLI::Yardoc.run *%w( -o doc/yard --readme README.md - LICENSE ) +end +