diff options
-rw-r--r-- | actionpack/lib/action_controller/dispatcher.rb | 3 | ||||
-rw-r--r-- | actionpack/test/controller/dispatcher_test.rb | 10 | ||||
-rw-r--r-- | activesupport/lib/active_support/vendor.rb | 2 | ||||
-rw-r--r-- | railties/lib/rails/gem_dependency.rb | 2 | ||||
-rw-r--r-- | railties/lib/tasks/gems.rake | 3 |
5 files changed, 15 insertions, 5 deletions
diff --git a/actionpack/lib/action_controller/dispatcher.rb b/actionpack/lib/action_controller/dispatcher.rb index 90c8400c11..28f8ce3d53 100644 --- a/actionpack/lib/action_controller/dispatcher.rb +++ b/actionpack/lib/action_controller/dispatcher.rb @@ -39,7 +39,7 @@ module ActionController # Add a preparation callback. Preparation callbacks are run before every # request in development mode, and before the first request in production # mode. - # + # # An optional identifier may be supplied for the callback. If provided, # to_prepare may be called again with the same identifier to replace the # existing callback. Passing an identifier is a suggested practice if the @@ -144,6 +144,7 @@ module ActionController Routing::Routes.reload ActionController::Base.view_paths.reload! + ActionView::Helpers::AssetTagHelper::AssetTag::Cache.clear end # Cleanup the application by clearing out loaded classes so they can diff --git a/actionpack/test/controller/dispatcher_test.rb b/actionpack/test/controller/dispatcher_test.rb index 911fcab67b..3ee78a6156 100644 --- a/actionpack/test/controller/dispatcher_test.rb +++ b/actionpack/test/controller/dispatcher_test.rb @@ -26,9 +26,17 @@ class DispatcherTest < Test::Unit::TestCase end def test_clears_dependencies_after_dispatch_if_in_loading_mode - ActionController::Routing::Routes.expects(:reload).once ActiveSupport::Dependencies.expects(:clear).once + dispatch(@output, false) + end + + def test_reloads_routes_before_dispatch_if_in_loading_mode + ActionController::Routing::Routes.expects(:reload).once + dispatch(@output, false) + end + def test_clears_asset_tag_cache_before_dispatch_if_in_loading_mode + ActionView::Helpers::AssetTagHelper::AssetTag::Cache.expects(:clear).once dispatch(@output, false) end diff --git a/activesupport/lib/active_support/vendor.rb b/activesupport/lib/active_support/vendor.rb index c703ac0f3e..633eb2ef08 100644 --- a/activesupport/lib/active_support/vendor.rb +++ b/activesupport/lib/active_support/vendor.rb @@ -22,7 +22,7 @@ end begin gem 'tzinfo', '~> 0.3.11' rescue Gem::LoadError - $:.unshift "#{File.dirname(__FILE__)}/vendor/tzinfo-0.3.9" + $:.unshift "#{File.dirname(__FILE__)}/vendor/tzinfo-0.3.11" end # TODO I18n gem has not been released yet diff --git a/railties/lib/rails/gem_dependency.rb b/railties/lib/rails/gem_dependency.rb index 80481859e1..46d5fd3a47 100644 --- a/railties/lib/rails/gem_dependency.rb +++ b/railties/lib/rails/gem_dependency.rb @@ -151,7 +151,7 @@ module Rails end # Gem.activate changes the spec - get the original - real_spec = Gem::Specification.load(spec.loaded_from) + real_spec = Gem::Specification.load(specification.loaded_from) write_spec(directory, real_spec) end diff --git a/railties/lib/tasks/gems.rake b/railties/lib/tasks/gems.rake index c65dfc7dd4..e2cb4b9577 100644 --- a/railties/lib/tasks/gems.rake +++ b/railties/lib/tasks/gems.rake @@ -11,7 +11,7 @@ end def print_gem_status(gem, indent=1) code = gem.loaded? ? (gem.frozen? ? "F" : "I") : " " puts " "*(indent-1)+" - [#{code}] #{gem.name} #{gem.requirement.to_s}" - gem.dependencies.each { |g| print_gem_status(g, indent+1)} + gem.dependencies.each { |g| print_gem_status(g, indent+1)} if gem.loaded? end namespace :gems do @@ -70,6 +70,7 @@ namespace :gems do task :refresh_specs => :base do require 'rubygems' require 'rubygems/gem_runner' + Rails::VendorGemSourceIndex.silence_spec_warnings = true Rails.configuration.gems.each do |gem| next unless gem.frozen? && (ENV['GEM'].blank? || ENV['GEM'] == gem.name) gem.refresh_spec(Rails::GemDependency.unpacked_path) if gem.loaded? |