Skip to content

Commit

Permalink
urp. rake from main dir saw the scaffold_rest_auth_example.rake, ruin…
Browse files Browse the repository at this point in the history
…ing Xmas. Moved all its tasks into an appropriately disclamatory namespace
  • Loading branch information
Philip (flip) Kromer committed Aug 22, 2008
1 parent 60a7988 commit f47198e
Showing 1 changed file with 63 additions and 60 deletions.
123 changes: 63 additions & 60 deletions tasks/scaffold_rest_auth_example.rake
Original file line number Diff line number Diff line change
Expand Up @@ -13,82 +13,85 @@ PLUGIN_DIRS = { # note: _ only in target names
:aasm => File.join(PLUGIN_BASE_DIR, 'aasm'),
}


#
# Steps
# Steps
#
task :default => [:empty_app, 'plugins:link', 'generate:all', 'db:migrate', 'spec']
task :default => ['fubar:empty_app', 'fubar:plugins:link', 'fubar:generate:all', 'fubar:db:migrate', 'fubar:spec']

directory APP_BASE_DIR
desc "Scaffolds the basic, empty app"
file APP_DIR => [APP_BASE_DIR] do |t|
cd APP_BASE_DIR do
sh %{ rails --force #{APP_NAME} }
namespace :fubar do
directory APP_BASE_DIR
desc "Scaffolds the basic, empty app"
file APP_DIR => [APP_BASE_DIR] do |t|
cd APP_BASE_DIR do
sh %{ rails --force #{APP_NAME} }
end
end
end
task :empty_app => APP_DIR
task :empty_app => APP_DIR

namespace :plugins do
desc "Link to required plugins"
task :all
PLUGIN_DIRS.each do |plugin, src_dir|
dest_dir = File.join(APP_DIR, "vendor", "plugins", plugin.to_s)
file dest_dir do |t|
cd APP_DIR do
rm_f dest_dir
ln_s src_dir, dest_dir
namespace :plugins do
desc "Link to required plugins"
task :all
PLUGIN_DIRS.each do |plugin, src_dir|
dest_dir = File.join(APP_DIR, "vendor", "plugins", plugin.to_s)
file dest_dir do |t|
cd APP_DIR do
rm_f dest_dir
ln_s src_dir, dest_dir
end
end
desc "Link to the #{plugin} plugin"
task "link_#{plugin}" => dest_dir
task :all => "plugins:link_#{plugin}"
end
desc "Link to the #{plugin} plugin"
task "link_#{plugin}" => dest_dir
task :all => "plugins:link_#{plugin}"
end
end

# if generators fail as 'not found', try
# http://github.com/rails/rails/commit/f90eb81c65d5841b591caf0f5e39ef774d02d06e
# -- it's because rails <= 2.1.0 hates symlinked plugin dirs.
namespace :generate do
desc "Run scaffold generators"
task :all
# if generators fail as 'not found', try
# http://github.com/rails/rails/commit/f90eb81c65d5841b591caf0f5e39ef774d02d06e
# -- it's because rails <= 2.1.0 hates symlinked plugin dirs.
namespace :generate do
desc "Run scaffold generators"
task :all

require 'activesupport'
allargs = [:skip_migration, :include_activation, :stateful, :aasm, :rspec, :no_rspec, :skip_routes, :old_passwords, :dump_generator_attrs, ]

# generator models flags helpers
generators = [
[:rspec, '', [], [], ],
[:authenticated, 'User', [:rspec,], ['sessions', 'users'], ],
]

generators.each do |generator, models, flags, helpers|
task :all => generator
argstrs = flags.map{|a| '--'+a.to_s.dasherize}.join(' ')
task generator => ['plugins:all'] do
cd APP_DIR do
helpers.each do |helper| rm_f "app/helpers/#{helper}_helper.rb" end
sh %{ ./script/generate #{generator} #{models} #{argstrs} }
require 'activesupport'
allargs = [:skip_migration, :include_activation, :stateful, :aasm, :rspec, :no_rspec, :skip_routes, :old_passwords, :dump_generator_attrs, ]

# generator models flags helpers
generators = [
[:rspec, '', [], [], ],
[:authenticated, 'User', [:rspec,], ['sessions', 'users'], ],
]

generators.each do |generator, models, flags, helpers|
task :all => generator
argstrs = flags.map{|a| '--'+a.to_s.dasherize}.join(' ')
task generator => ['plugins:all'] do
cd APP_DIR do
helpers.each do |helper| rm_f "app/helpers/#{helper}_helper.rb" end
sh %{ ./script/generate #{generator} #{models} #{argstrs} }
end
end
end
namespace :destroy do
task generator do
cd APP_DIR do sh %{ ./script/destroy #{generator} #{models} #{argstrs} } end
namespace :destroy do
task generator do
cd APP_DIR do sh %{ ./script/destroy #{generator} #{models} #{argstrs} } end
end
task :all => generator
end
task :all => generator
end

end

end
namespace :db do
task :migrate => ['generate:all'] do
cd APP_DIR do sh %{ rake db:migrate:reset } end
end
end

namespace :db do
task :migrate => ['generate:all'] do
cd APP_DIR do sh %{ rake db:migrate:reset } end
task :spec => ['db:migrate'] do
cd APP_DIR do sh %{ rake spec } end
end
end

task :spec => ['db:migrate'] do
cd APP_DIR do sh %{ rake spec } end
# generate rspec
# rake db:migrate
# rake spec
end

# generate rspec
# rake db:migrate
# rake spec

0 comments on commit f47198e

Please sign in to comment.