diff --git a/railties/lib/rails/application/configuration.rb b/railties/lib/rails/application/configuration.rb index aaf18b5f51697c54555d58cc2b265f48235e538c..31787b5cc923c683768a99443d29249f61e2a29d 100644 --- a/railties/lib/rails/application/configuration.rb +++ b/railties/lib/rails/application/configuration.rb @@ -8,14 +8,16 @@ class Configuration < ::Rails::Engine::Configuration attr_accessor :cache_classes, :cache_store, :colorize_logging, :consider_all_requests_local, :dependency_loading, :filter_parameters, :log_level, :logger, :metals, - :plugins, :preload_frameworks, :reload_plugins, + :plugins, :preload_frameworks, :reload_engines, :reload_plugins, :serve_static_assets, :time_zone, :whiny_nils def initialize(*) super + @colorize_logging = true @filter_parameters = [] @dependency_loading = true @serve_static_assets = true + @time_zone = "UTC" end def paths @@ -23,6 +25,7 @@ def paths paths = super paths.app.controllers << builtin_controller if builtin_controller paths.config.database "config/database.yml" + paths.config.environment "config/environments", :glob => "#{Rails.env}.rb" paths.log "log/#{Rails.env}.log" paths.tmp "tmp" paths.tmp.cache "tmp/cache" @@ -76,10 +79,6 @@ def builtin_controller def log_level @log_level ||= Rails.env.production? ? :info : :debug end - - def time_zone - @time_zone ||= "UTC" - end end end end \ No newline at end of file diff --git a/railties/lib/rails/engine.rb b/railties/lib/rails/engine.rb index b98393c01a23417dc2fbbbd5a25650232dc60214..33d62c81558900bf387fdb364c29ac0a2cc35c17 100644 --- a/railties/lib/rails/engine.rb +++ b/railties/lib/rails/engine.rb @@ -124,7 +124,7 @@ def load_tasks protected def reloadable?(app) - app.config.reload_plugins + app.config.reload_engines end end end \ No newline at end of file diff --git a/railties/lib/rails/engine/configuration.rb b/railties/lib/rails/engine/configuration.rb index c4e34b11b8e2fb0f54c02f230176bac8b0a16da8..7d6de914300090bdeef46e88285c47353ffb300c 100644 --- a/railties/lib/rails/engine/configuration.rb +++ b/railties/lib/rails/engine/configuration.rb @@ -22,7 +22,6 @@ def paths paths.lib "lib", :load_path => true paths.lib.tasks "lib/tasks", :glob => "**/*.rake" paths.config "config" - paths.config.environment "config/environments", :glob => "#{Rails.env}.rb" paths.config.initializers "config/initializers", :glob => "**/*.rb" paths.config.locales "config/locales", :glob => "*.{rb,yml}" paths.config.routes "config/routes.rb" diff --git a/railties/lib/rails/plugin.rb b/railties/lib/rails/plugin.rb index 4c738091777723c33e1061a5cf0a1904174ac6d9..881c97f02da0a6f9630d834fc438216ae5410d52 100644 --- a/railties/lib/rails/plugin.rb +++ b/railties/lib/rails/plugin.rb @@ -54,5 +54,11 @@ def config raise "\"#{name}\" is a Railtie/Engine and cannot be installed as plugin" end end + + protected + + def reloadable?(app) + app.config.reload_plugins + end end end diff --git a/railties/test/railties/configuration_test.rb b/railties/test/railties/configuration_test.rb index c5ff6dad9c84611f00980f14c74400e02612b607..17ea526bbf714a3c757174172966f20870221bba 100644 --- a/railties/test/railties/configuration_test.rb +++ b/railties/test/railties/configuration_test.rb @@ -18,13 +18,13 @@ class Foo < Rails::Railtie ; config.foo.greetings = "hello" ; end assert_equal "hello", Foo.config.foo.greetings end - test "plugin configurations are available in the application" do + test "railtie configurations are available in the application" do class Foo < Rails::Railtie ; config.foo.greetings = "hello" ; end require "#{app_path}/config/application" assert_equal "hello", AppTemplate::Application.config.foo.greetings end - test "plugin config merges are deep" do + test "railtie config merges are deep" do class Foo < Rails::Railtie ; config.foo.greetings = 'hello' ; end class Bar < Rails::Railtie config.foo.bar = "bar" @@ -33,7 +33,7 @@ class Bar < Rails::Railtie assert_equal "bar", Bar.config.foo.bar end - test "plugin can add subscribers" do + test "railtie can add subscribers" do begin class Foo < Rails::Railtie; subscriber(Rails::Subscriber.new); end assert_kind_of Rails::Subscriber, Rails::Subscriber.subscribers[:foo] diff --git a/railties/test/railties/engine_test.rb b/railties/test/railties/engine_test.rb index 374f5ea93cd88d6989bf25aebb3641d2baf8a277..6f49ebcf1b6a9455cdc466ea459f53f2918a4521 100644 --- a/railties/test/railties/engine_test.rb +++ b/railties/test/railties/engine_test.rb @@ -19,5 +19,9 @@ class Engine < ::Rails::Engine plugin.write "lib/another.rb", "class Another; end" end end + + def reload_config + :reload_engines + end end end diff --git a/railties/test/railties/plugin_test.rb b/railties/test/railties/plugin_test.rb index 0adc31e3ed59415dd59f17533f7204b4afff8279..a29186f14af44466d00330d783c89f10b6336bca 100644 --- a/railties/test/railties/plugin_test.rb +++ b/railties/test/railties/plugin_test.rb @@ -15,6 +15,10 @@ def setup end end + def reload_config + :reload_plugins + end + test "plugin can load the file with the same name in lib" do boot_rails require "bukkits" diff --git a/railties/test/railties/shared_tests.rb b/railties/test/railties/shared_tests.rb index fc4a19e7e782ae1d3633d8a3960926f4c286615c..2483fa47fd25de4e7ed82b0351bfbc3dfedac6c8 100644 --- a/railties/test/railties/shared_tests.rb +++ b/railties/test/railties/shared_tests.rb @@ -31,7 +31,7 @@ def test_plugins_constants_are_not_reloaded_by_default def test_plugin_constants_get_reloaded_if_config_reload_plugins add_to_config <<-RUBY - config.reload_plugins = true + config.#{reload_config} = true RUBY boot_rails