# encoding: utf-8 require 'rake' require 'rake/testtask' require 'cucumber/rake/task' namespace :test do Rake::TestTask.new(:all => ["generator:cleanup", "generator:generate"]) do |task| task.libs << "lib" task.libs << "test" task.pattern = "test/**/*_test.rb" task.verbose = false end Cucumber::Rake::Task.new(:features) do |t| t.cucumber_opts = "--format progress" t.feature_pattern = "test/rails_root/features/*.feature" end end generators = %w(clearance clearance_features) namespace :generator do desc "Cleans up the test app before running the generator" task :cleanup do generators.each do |generator| FileList["generators/#{generator}/templates/**/*.*"].each do |each| file = "test/rails_root/#{each.gsub("generators/#{generator}/templates/",'')}" File.delete(file) if File.exists?(file) end end FileList["test/rails_root/db/**/*"].each do |each| FileUtils.rm_rf(each) end FileUtils.rm_rf("test/rails_root/vendor/plugins/clearance") FileUtils.mkdir_p("test/rails_root/vendor/plugins") clearance_root = File.expand_path(File.dirname(__FILE__)) system("ln -s #{clearance_root} test/rails_root/vendor/plugins/clearance") end desc "Run the generator on the tests" task :generate do generators.each do |generator| system "cd test/rails_root && ./script/generate #{generator} && rake db:migrate db:test:prepare" end end end desc "Run the test suite" task :default => ['test:all', 'test:features'] gem_spec = Gem::Specification.new do |gem_spec| gem_spec.name = "clearance" gem_spec.version = "0.6.9.3" gem_spec.summary = "Rails authentication with email & password and invitations." gem_spec.email = "matt@tonkapark.com" gem_spec.homepage = "http://github.com/tonkapark/clearance" gem_spec.description = "Rails authentication with email & password and invitations." gem_spec.authors = ["Dan Croak", "Mike Burns", "Jason Morrison", "Joe Ferris", "Eugene Bolshakov", "Nick Quaranto", "Josh Nichols", "Mike Breen", "Marcel Görner", "Bence Nagy", "Ben Mabey", "Eloy Duran", "Tim Pope", "Mihai Anca", "Mark Cornick", "Shay Arnett"] gem_spec.files = FileList["[A-Z]*", "{app,config,generators,lib,shoulda_macros,rails}/**/*"] end desc "Generate a gemspec file" task :gemspec do File.open("#{gem_spec.name}.gemspec", 'w') do |f| f.write gem_spec.to_yaml end end