aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--actionpack/lib/action_controller/dispatcher.rb3
-rw-r--r--actionpack/test/controller/dispatcher_test.rb10
-rw-r--r--activesupport/lib/active_support/vendor.rb2
-rw-r--r--railties/lib/rails/gem_dependency.rb2
-rw-r--r--railties/lib/tasks/gems.rake3
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?