diff --git a/actionpack/lib/action_view/buffers.rb b/actionpack/lib/action_view/buffers.rb index 2e2b39e4a2136143141f8e6a14ff7be24835d79c..089fc6870621306139c0ade5301b2a629ffff707 100644 --- a/actionpack/lib/action_view/buffers.rb +++ b/actionpack/lib/action_view/buffers.rb @@ -1,7 +1,7 @@ require 'active_support/core_ext/string/output_safety' module ActionView - class OutputBuffer < ActiveSupport::SafeBuffer + class OutputBuffer < ActiveSupport::SafeBuffer #:nodoc: def initialize(*) super encode! if encoding_aware? @@ -14,7 +14,7 @@ def <<(value) alias :safe_append= :safe_concat end - class StreamingBuffer + class StreamingBuffer #:nodoc: def initialize(block) @block = block end diff --git a/actionpack/lib/action_view/flows.rb b/actionpack/lib/action_view/flows.rb index 995a0b51e46ac578a9c06ac53b0108ed2a8a3f48..386a06511f3db794a761f90863761a8d97041adb 100644 --- a/actionpack/lib/action_view/flows.rb +++ b/actionpack/lib/action_view/flows.rb @@ -1,31 +1,35 @@ require 'active_support/core_ext/string/output_safety' module ActionView - class OutputFlow + class OutputFlow #:nodoc: attr_reader :content def initialize @content = Hash.new { |h,k| h[k] = ActiveSupport::SafeBuffer.new } end + # Called by _layout_for to read stored values. def get(key) @content[key] end + # Called by each renderer object to set the layout contents. def set(key, value) - @content[key] = (ActiveSupport::SafeBuffer.new << value) + @content[key] = value end + # Called by content_for def append(key, value) @content[key] << value end + # Called by provide def append!(key, value) @content[key] << value end end - class StreamingFlow < OutputFlow + class StreamingFlow < OutputFlow #:nodoc: def initialize(view, fiber) @view = view @parent = nil @@ -58,14 +62,9 @@ def get(key) super end - # Set the contents for the given key. This is called + # Appends the contents for the given key. This is called # by provides and resumes back to the fiber if it is # the key it is waiting for. - def set(key, value) - @content[key] = (ActiveSupport::SafeBuffer.new << value) - end - - # Append but also resume the fiber if it provided the right key. def append!(key, value) super @fiber.resume if @waiting_for == key