public
Description: Rails authentication with email & password.
Homepage: http://thoughtbot.com
Clone URL: git://github.com/thoughtbot/clearance.git
dancroak (author)
Thu Nov 05 07:42:11 -0800 2009
commit  773f571f6de166c3fc1f0af1046b94eac042bb79
tree    c75be9740ad2214747e7acf33a939ca831025f5e
parent  8c149f1968f3d00aa4d22caec23fc74ad574af81
clearance / Rakefile
100644 104 lines (86 sloc) 3.468 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# encoding: utf-8
 
require 'rake'
require 'rake/testtask'
require 'cucumber/rake/task'
 
namespace :test do
  Rake::TestTask.new(:basic => ["generator:cleanup",
                                "generator:clearance",
                                "generator:clearance_features"]) do |task|
    task.libs << "lib"
    task.libs << "test"
    task.pattern = "test/**/*_test.rb"
    task.verbose = false
  end
 
  Rake::TestTask.new(:views => ["generator:clearance_views"]) 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.profile = 'features'
  end
 
  Cucumber::Rake::Task.new(:features_for_views) do |t|
    t.cucumber_opts = "--format progress"
    t.profile = 'features_for_views'
  end
end
 
generators = %w(clearance clearance_features clearance_views)
 
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")
 
    FileUtils.rm_rf("test/rails_root/app/views/passwords")
    FileUtils.rm_rf("test/rails_root/app/views/sessions")
    FileUtils.rm_rf("test/rails_root/app/views/users")
  end
 
  desc "Run the clearance generator"
  task :clearance do
    system "cd test/rails_root && ./script/generate clearance && rake db:migrate db:test:prepare"
  end
 
  desc "Run the clearance features generator"
  task :clearance_features do
    system "cd test/rails_root && ./script/generate clearance_features"
  end
 
  desc "Run the clearance views generator"
  task :clearance_views do
    system "cd test/rails_root && ./script/generate clearance_views"
  end
end
 
desc "Run the test suite"
task :default => ['test:basic', 'test:features',
                  'test:views', 'test:features_for_views']
 
gem_spec = Gem::Specification.new do |gem_spec|
  gem_spec.name = "clearance"
  gem_spec.version = "0.8.3"
  gem_spec.summary = "Rails authentication with email & password."
  gem_spec.email = "support@thoughtbot.com"
  gem_spec.homepage = "http://github.com/thoughtbot/clearance"
  gem_spec.description = "Rails authentication with email & password."
  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", "Jon Yurek"]
  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