aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
Diffstat (limited to 'railties')
-rw-r--r--railties/lib/rails/generators/rails/plugin_new/plugin_new_generator.rb10
-rwxr-xr-xrailties/lib/rails/generators/rails/plugin_new/templates/Rakefile12
-rw-r--r--railties/lib/rails/generators/rails/plugin_new/templates/test/test_helper.rb5
-rw-r--r--railties/test/generators/plugin_new_generator_test.rb2
4 files changed, 23 insertions, 6 deletions
diff --git a/railties/lib/rails/generators/rails/plugin_new/plugin_new_generator.rb b/railties/lib/rails/generators/rails/plugin_new/plugin_new_generator.rb
index 9c54b98238..77497f9e44 100644
--- a/railties/lib/rails/generators/rails/plugin_new/plugin_new_generator.rb
+++ b/railties/lib/rails/generators/rails/plugin_new/plugin_new_generator.rb
@@ -70,6 +70,16 @@ task :default => :test
if mountable?
template "rails/routes.rb", "#{dummy_path}/config/routes.rb", :force => true
end
+
+ if full? && !options[:skip_active_record]
+ append_file "#{dummy_path}/Rakefile", <<-EOF
+
+task :"db:load_config" do
+ ActiveRecord::Migrator.migrations_paths = Rails.application.config.paths["db/migrate"].to_a +
+ <%= camelized %>::Engine.config.paths["db/migrate"].to_a
+end
+ EOF
+ end
end
def test_dummy_clean
diff --git a/railties/lib/rails/generators/rails/plugin_new/templates/Rakefile b/railties/lib/rails/generators/rails/plugin_new/templates/Rakefile
index 12350309bf..b7cab3859a 100755
--- a/railties/lib/rails/generators/rails/plugin_new/templates/Rakefile
+++ b/railties/lib/rails/generators/rails/plugin_new/templates/Rakefile
@@ -14,3 +14,15 @@ Rake::RDocTask.new(:rdoc) do |rdoc|
rdoc.rdoc_files.include('README.rdoc')
rdoc.rdoc_files.include('lib/**/*.rb')
end
+
+<% if full? && !options[:skip_active_record] -%>
+namespace :app do
+ load File.expand_path("../<%= dummy_path -%>/Rakefile", __FILE__)
+
+ task :"db:load_config" do
+ ActiveRecord::Migrator.migrations_paths = Rails.application.config.paths["db/migrate"].to_a +
+ <%= camelized %>::Engine.config.paths["db/migrate"].to_a
+ end
+end
+<% end -%>
+
diff --git a/railties/lib/rails/generators/rails/plugin_new/templates/test/test_helper.rb b/railties/lib/rails/generators/rails/plugin_new/templates/test/test_helper.rb
index 7b61047e77..791b901593 100644
--- a/railties/lib/rails/generators/rails/plugin_new/templates/test/test_helper.rb
+++ b/railties/lib/rails/generators/rails/plugin_new/templates/test/test_helper.rb
@@ -6,10 +6,5 @@ require "rails/test_help"
Rails.backtrace_cleaner.remove_silencers!
-<% if full? && !options[:skip_active_record] -%>
-# Run any available migration from application
-ActiveRecord::Migrator.migrate File.expand_path("../dummy/db/migrate/", __FILE__)
-<% end -%>
-
# Load support files
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
diff --git a/railties/test/generators/plugin_new_generator_test.rb b/railties/test/generators/plugin_new_generator_test.rb
index 2105585272..0d24821ff6 100644
--- a/railties/test/generators/plugin_new_generator_test.rb
+++ b/railties/test/generators/plugin_new_generator_test.rb
@@ -114,7 +114,7 @@ class PluginNewGeneratorTest < Rails::Generators::TestCase
end
def test_ensure_that_tests_works_in_full_mode
- run_generator [destination_root, "--full"]
+ run_generator [destination_root, "--full", "--skip_active_record"]
FileUtils.cd destination_root
`bundle install`
assert_match /2 tests, 2 assertions, 0 failures, 0 errors/, `bundle exec rake test`