aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorCarlhuda <carlhuda@engineyard.com>2010-03-16 11:43:04 -0700
committerCarlhuda <carlhuda@engineyard.com>2010-03-16 11:43:04 -0700
commitc61ed70b00c93bdf42c7538a334f07e58c60bc4e (patch)
treeaaa304345983bafd88b1860b5bf63da1271e690e /actionpack
parent67d8b9743add53f908ca417c641c4a54dd326c7d (diff)
downloadrails-c61ed70b00c93bdf42c7538a334f07e58c60bc4e.tar.gz
rails-c61ed70b00c93bdf42c7538a334f07e58c60bc4e.tar.bz2
rails-c61ed70b00c93bdf42c7538a334f07e58c60bc4e.zip
Some more tweaks on <% %>.
* The cache helper is now semantically "mark this region for caching" * As a result, <% x = cache do %> no longer works
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_controller/caching/fragments.rb3
-rw-r--r--actionpack/lib/action_view/helpers/cache_helper.rb3
-rw-r--r--actionpack/lib/action_view/helpers/text_helper.rb2
-rw-r--r--actionpack/test/controller/caching_test.rb8
4 files changed, 8 insertions, 8 deletions
diff --git a/actionpack/lib/action_controller/caching/fragments.rb b/actionpack/lib/action_controller/caching/fragments.rb
index 19bf3ddd3b..8a10bdfe23 100644
--- a/actionpack/lib/action_controller/caching/fragments.rb
+++ b/actionpack/lib/action_controller/caching/fragments.rb
@@ -44,9 +44,8 @@ module ActionController #:nodoc:
buffer = view_context.output_buffer
pos = buffer.length
yield
- fragment = buffer[pos..-1]
+ fragment = buffer.slice!(pos..-1)
write_fragment(name, fragment, options)
- fragment.is_a?(String) ? ActionView::NonConcattingString.new(fragment) : fragment
end
else
ret = yield
diff --git a/actionpack/lib/action_view/helpers/cache_helper.rb b/actionpack/lib/action_view/helpers/cache_helper.rb
index 3729d7daa8..f5c2127d3f 100644
--- a/actionpack/lib/action_view/helpers/cache_helper.rb
+++ b/actionpack/lib/action_view/helpers/cache_helper.rb
@@ -32,7 +32,8 @@ module ActionView
# <i>Topics listed alphabetically</i>
# <% end %>
def cache(name = {}, options = nil, &block)
- controller.fragment_for(name, options, &block)
+ safe_concat controller.fragment_for(name, options, &block)
+ nil
end
end
end
diff --git a/actionpack/lib/action_view/helpers/text_helper.rb b/actionpack/lib/action_view/helpers/text_helper.rb
index b19a9754f4..b5bf813e07 100644
--- a/actionpack/lib/action_view/helpers/text_helper.rb
+++ b/actionpack/lib/action_view/helpers/text_helper.rb
@@ -29,7 +29,7 @@ module ActionView
end
def safe_concat(string)
- output_buffer.safe_concat(string)
+ output_buffer.respond_to?(:safe_concat) ? output_buffer.safe_concat(string) : concat(string)
end
# Truncates a given +text+ after a given <tt>:length</tt> if +text+ is longer than <tt>:length</tt>
diff --git a/actionpack/test/controller/caching_test.rb b/actionpack/test/controller/caching_test.rb
index 2f9cc44308..f6264c0954 100644
--- a/actionpack/test/controller/caching_test.rb
+++ b/actionpack/test/controller/caching_test.rb
@@ -704,8 +704,8 @@ CACHED
def test_fragment_caching_in_partials
get :html_fragment_cached_with_partial
assert_response :success
- assert_match /Fragment caching in a partial/, @response.body
- assert_match "Fragment caching in a partial", @store.read('views/test.host/functional_caching/html_fragment_cached_with_partial')
+ assert_match /Old fragment caching in a partial/, @response.body
+ assert_match "Old fragment caching in a partial", @store.read('views/test.host/functional_caching/html_fragment_cached_with_partial')
end
def test_render_inline_before_fragment_caching
@@ -719,8 +719,8 @@ CACHED
def test_fragment_caching_in_rjs_partials
xhr :get, :js_fragment_cached_with_partial
assert_response :success
- assert_match /Fragment caching in a partial/, @response.body
- assert_match "Fragment caching in a partial", @store.read('views/test.host/functional_caching/js_fragment_cached_with_partial')
+ assert_match /Old fragment caching in a partial/, @response.body
+ assert_match "Old fragment caching in a partial", @store.read('views/test.host/functional_caching/js_fragment_cached_with_partial')
end
def test_html_formatted_fragment_caching