diff options
Diffstat (limited to 'railties/lib/rails/tasks')
| -rw-r--r-- | railties/lib/rails/tasks/documentation.rake | 2 | ||||
| -rw-r--r-- | railties/lib/rails/tasks/framework.rake | 2 | ||||
| -rw-r--r-- | railties/lib/rails/tasks/railties.rake | 33 |
3 files changed, 23 insertions, 14 deletions
diff --git a/railties/lib/rails/tasks/documentation.rake b/railties/lib/rails/tasks/documentation.rake index 7aefbb49b0..edd716d7d0 100644 --- a/railties/lib/rails/tasks/documentation.rake +++ b/railties/lib/rails/tasks/documentation.rake @@ -47,7 +47,7 @@ namespace :doc do rdoc.rdoc_files.include('app/**/*.rb') rdoc.rdoc_files.include('lib/**/*.rb') } - Rake::Task['doc:app'].comment = "Generate docs for the app -- also availble doc:rails, doc:guides, doc:plugins (options: TEMPLATE=/rdoc-template.rb, TITLE=\"Custom Title\")" + Rake::Task['doc:app'].comment = "Generate docs for the app -- also available doc:rails, doc:guides, doc:plugins (options: TEMPLATE=/rdoc-template.rb, TITLE=\"Custom Title\")" # desc 'Generate documentation for the Rails framework.' RDocTaskWithoutDescriptions.new("rails") { |rdoc| diff --git a/railties/lib/rails/tasks/framework.rake b/railties/lib/rails/tasks/framework.rake index 745a32a1fa..5222b7bf50 100644 --- a/railties/lib/rails/tasks/framework.rake +++ b/railties/lib/rails/tasks/framework.rake @@ -60,7 +60,7 @@ namespace :rails do # desc "Update Prototype javascripts from your current rails install" task :javascripts do - invoke_from_app_generator :create_prototype_files + invoke_from_app_generator :create_javascript_files end # desc "Adds new scripts to the application script/ directory" diff --git a/railties/lib/rails/tasks/railties.rake b/railties/lib/rails/tasks/railties.rake index 7cf31f84a0..16703879cf 100644 --- a/railties/lib/rails/tasks/railties.rake +++ b/railties/lib/rails/tasks/railties.rake @@ -1,20 +1,29 @@ 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 + namespace :install do + # desc "Copies missing assets from Railties (e.g. plugins, engines). You can specify Railties to use with FROM=railtie1,railtie2" + task :assets => :rails_env do + require 'rails/generators/base' + Rails.application.initialize! - 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 + to_load = ENV["FROM"].blank? ? :all : ENV["FROM"].split(",").map {|n| n.strip } + app_public_path = Rails.application.paths["public"].first - next unless File.exist?(path) + Rails.application.railties.all do |railtie| + next unless to_load == :all || to_load.include?(railtie.railtie_name) - File.symlink(path, symlink_path) + if railtie.respond_to?(:paths) && (path = railtie.paths["public"].first) && + (assets_dir = railtie.config.compiled_asset_path) && File.exist?(path) - puts "Created symlink #{symlink_path} -> #{path}" + Rails::Generators::Base.source_root(path) + copier = Rails::Generators::Base.new + Dir[File.join(path, "**/*")].each do |file| + relative = file.gsub(/^#{path}\//, '') + if File.file?(file) + copier.copy_file relative, File.join(app_public_path, assets_dir, relative) + end + end + end + end end end end |
