Rakefile
require 'rubygems'
require 'rubygems/package_task'
require 'rspec/core'
require 'rspec/core/rake_task'
def gemspec
$ripple_gemspec ||= Gem::Specification.load("ripple.gemspec")
end
Gem::PackageTask.new(gemspec) do |pkg|
pkg.need_zip = false
pkg.need_tar = false
end
task :gem => :gemspec
desc %{Validate the gemspec file.}
task :gemspec do
gemspec.validate
end
desc %{Release the gem to RubyGems.org}
task :release => :gem do
system "gem push pkg/#{gemspec.name}-#{gemspec.version}.gem"
end
desc "Cleans up white space in source files"
task :clean_whitespace do
no_file_cleaned = true
Dir["**/*.rb"].each do |file|
contents = File.read(file)
cleaned_contents = contents.gsub(/([ \t]+)$/, '')
unless cleaned_contents == contents
no_file_cleaned = false
puts " - Cleaned #{file}"
File.open(file, 'w') { |f| f.write(cleaned_contents) }
end
end
if no_file_cleaned
puts "No files with trailing whitespace found"
end
end
desc "Run Unit Specs Only"
RSpec::Core::RakeTask.new(:spec) do |spec|
spec.rspec_opts = %w[--profile --tag ~integration]
end
namespace :spec do
desc "Run Integration Specs Only"
RSpec::Core::RakeTask.new(:integration) do |spec|
spec.rspec_opts = %w[--profile --tag integration]
end
desc "Run All Specs"
RSpec::Core::RakeTask.new(:all) do |spec|
spec.rspec_opts = %w[--profile]
end
end
task :default => "spec:all"