Renamed helpers to correspond to renamed Controller classes.
[merb_radiant.git] / lib / tasks / .svn / text-base / extensions.rake.svn-base
blob33db38f225820925f8a18f54b06cab73ff99195d
1 require 'rake/testtask'
3 namespace :db do
4   namespace :migrate do
5     desc "Run all Radiant extension migrations"
6     task :extensions => :environment do
7       require 'radiant/extension_migrator'
8       Radiant::ExtensionMigrator.migrate_extensions
9     end
10   end
11   namespace :remigrate do
12     desc "Migrate down and back up all Radiant extension migrations"
13     task :extensions => :environment do
14       require 'highline/import'
15       if agree("This task will destroy any data stored by extensions in the database. Are you sure you want to \ncontinue? [yn] ")
16         require 'radiant/extension_migrator'
17         Radiant::Extension.descendants.map(&:migrator).each {|m| m.migrate(0) }
18         Rake::Task['db:migrate:extensions'].invoke
19       end
20     end
21   end
22 end
24 namespace :test do
25   desc "Runs tests on all available Radiant extensions, pass EXT=extension_name to test a single extension"
26   task :extensions => "db:test:prepare" do
27     extension_roots = Radiant::Extension.descendants.map(&:root)
28     if ENV["EXT"]
29       extension_roots = extension_roots.select {|x| /\/(\d+_)?#{ENV["EXT"]}$/ === x }
30       if extension_roots.empty?
31         puts "Sorry, that extension is not installed."
32       end
33     end
34     extension_roots.each do |directory|
35       chdir directory do
36         if RUBY_PLATFORM =~ /win32/
37           system "rake.cmd test"
38         else
39           system "rake test"
40         end
41       end
42     end
43   end
44 end
46 # Load any custom rakefiles from extensions
47 [RAILS_ROOT, RADIANT_ROOT].uniq.each do |root|
48   Dir[root + '/vendor/extensions/**/tasks/**/*.rake'].sort.each { |ext| load ext }
49 end