aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/tasks
diff options
context:
space:
mode:
authorPiotr Sarnacki <drogus@gmail.com>2010-09-06 10:50:08 +0200
committerJosé Valim <jose.valim@gmail.com>2010-09-06 14:38:36 +0200
commit24d2d6726ef5d5d6c50605f4d718223944d33336 (patch)
treedd49251f34f3fc9279fb2032ce401c69f4704fd4 /railties/lib/rails/tasks
parentc915ddd38642333cd0f28d188c5d7c51ba517c03 (diff)
downloadrails-24d2d6726ef5d5d6c50605f4d718223944d33336.tar.gz
rails-24d2d6726ef5d5d6c50605f4d718223944d33336.tar.bz2
rails-24d2d6726ef5d5d6c50605f4d718223944d33336.zip
Added task for creating symlinks to engines' public directories
Signed-off-by: José Valim <jose.valim@gmail.com>
Diffstat (limited to 'railties/lib/rails/tasks')
-rw-r--r--railties/lib/rails/tasks/railties.rake20
1 files changed, 20 insertions, 0 deletions
diff --git a/railties/lib/rails/tasks/railties.rake b/railties/lib/rails/tasks/railties.rake
new file mode 100644
index 0000000000..7cf31f84a0
--- /dev/null
+++ b/railties/lib/rails/tasks/railties.rake
@@ -0,0 +1,20 @@
+namespace :railties do
+ desc "Create symlinks to railties public directories in application's public directory."
+ task :create_symlinks => :environment do
+ paths = Rails.application.config.static_asset_paths.dup
+ app_public_path = Rails.application.config.paths.public.to_a.first
+
+ paths.each do |mount_path, path|
+ symlink_path = File.join(app_public_path, mount_path)
+ if File.exist?(symlink_path)
+ File.symlink?(symlink_path) ? FileUtils.rm(symlink_path) : next
+ end
+
+ next unless File.exist?(path)
+
+ File.symlink(path, symlink_path)
+
+ puts "Created symlink #{symlink_path} -> #{path}"
+ end
+ end
+end