1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Replace the flush parameter with a Hash.

This commit is contained in:
Lucas Mazza 2012-07-24 16:19:14 -03:00
parent 66b859bd9e
commit 9a020bd8f9
2 changed files with 13 additions and 13 deletions

View file

@ -134,7 +134,7 @@ module ActionView
#
# <%# Add some other content, or use a different template: %>
#
# <% content_for :navigation, true do %>
# <% content_for :navigation, flush: true do %>
# <li><%= link_to 'Login', :action => 'login' %></li>
# <% end %>
#
@ -148,14 +148,14 @@ module ActionView
#
# WARNING: content_for is ignored in caches. So you shouldn't use it
# for elements that will be fragment cached.
def content_for(name, content = nil, flush = false, &block)
def content_for(name, content = nil, options = {}, &block)
if content || block_given?
if block_given?
flush = content if content
options = content if content
content = capture(&block)
end
if content
flush ? @view_flow.set(name, content) : @view_flow.append(name, content)
options[:flush] ? @view_flow.set(name, content) : @view_flow.append(name, content)
end
nil
else

View file

@ -56,7 +56,7 @@ class CaptureHelperTest < ActionView::TestCase
def test_content_for_with_multiple_calls_and_flush
assert ! content_for?(:title)
content_for :title, 'foo'
content_for :title, 'bar', true
content_for :title, 'bar', flush: true
assert_equal 'bar', content_for(:title)
end
@ -75,7 +75,7 @@ class CaptureHelperTest < ActionView::TestCase
content_for :title do
'foo'
end
content_for :title, true do
content_for :title, flush: true do
'bar'
end
assert_equal 'bar', content_for(:title)
@ -86,7 +86,7 @@ class CaptureHelperTest < ActionView::TestCase
content_for :title do
'foo'
end
content_for :title, nil, true do
content_for :title, nil, flush: true do
'bar'
end
assert_equal 'bar', content_for(:title)
@ -97,7 +97,7 @@ class CaptureHelperTest < ActionView::TestCase
content_for :title do
'foo'
end
content_for :title, false do
content_for :title, flush: false do
'bar'
end
assert_equal 'foobar', content_for(:title)
@ -117,11 +117,11 @@ class CaptureHelperTest < ActionView::TestCase
def test_content_for_with_whitespace_block_and_flush
assert ! content_for?(:title)
content_for :title, 'foo'
content_for :title, true do
content_for :title, flush: true do
output_buffer << " \n "
nil
end
content_for :title, 'bar', true
content_for :title, 'bar', flush: true
assert_equal 'bar', content_for(:title)
end
@ -131,9 +131,9 @@ class CaptureHelperTest < ActionView::TestCase
assert_equal nil, content_for(:title) { output_buffer << 'bar'; nil }
assert_equal nil, content_for(:title) { output_buffer << " \n "; nil }
assert_equal 'foobar', content_for(:title)
assert_equal nil, content_for(:title, 'foo', true)
assert_equal nil, content_for(:title, true) { output_buffer << 'bar'; nil }
assert_equal nil, content_for(:title, true) { output_buffer << " \n "; nil }
assert_equal nil, content_for(:title, 'foo', flush: true)
assert_equal nil, content_for(:title, flush: true) { output_buffer << 'bar'; nil }
assert_equal nil, content_for(:title, flush: true) { output_buffer << " \n "; nil }
assert_equal 'bar', content_for(:title)
end