Sha256: 18edb70ada7a831a1d32630ce76d0535da307ab0f0e5f5c59edaaa9d827e4817

Contents?: true

Size: 783 Bytes

Versions: 179

Compression:

Stored size: 783 Bytes

Contents

require 'active_support/core_ext/string/output_safety'

module ActionView
  class OutputBuffer < ActiveSupport::SafeBuffer #:nodoc:
    def initialize(*)
      super
      encode! if encoding_aware?
    end

    def <<(value)
      super(value.to_s)
    end
    alias :append= :<<
    alias :safe_append= :safe_concat
  end

  class StreamingBuffer #:nodoc:
    def initialize(block)
      @block = block
    end

    def <<(value)
      value = value.to_s
      value = ERB::Util.h(value) unless value.html_safe?
      @block.call(value)
    end
    alias :concat  :<<
    alias :append= :<<

    def safe_concat(value)
      @block.call(value.to_s)
    end
    alias :safe_append= :safe_concat

    def html_safe?
      true
    end

    def html_safe
      self
    end
  end
end

Version data entries

179 entries across 140 versions & 18 rubygems

Version Path
actionpack-3.2.1 lib/action_view/buffers.rb
actionpack-3.2.0 lib/action_view/buffers.rb
actionpack-3.2.0.rc2 lib/action_view/buffers.rb
actionpack-3.2.0.rc1 lib/action_view/buffers.rb
actionpack-3.1.3 lib/action_view/buffers.rb
actionpack-3.1.2 lib/action_view/buffers.rb
actionpack-3.1.2.rc2 lib/action_view/buffers.rb
actionpack-3.1.2.rc1 lib/action_view/buffers.rb
actionpack-3.1.1 lib/action_view/buffers.rb
actionpack-3.1.1.rc3 lib/action_view/buffers.rb
actionpack-3.1.1.rc2 lib/action_view/buffers.rb
actionpack-3.1.1.rc1 lib/action_view/buffers.rb
actionpack-3.1.0 lib/action_view/buffers.rb
actionpack-3.1.0.rc8 lib/action_view/buffers.rb
actionpack-3.1.0.rc6 lib/action_view/buffers.rb
actionpack-3.1.0.rc5 lib/action_view/buffers.rb
actionpack-3.1.0.rc4 lib/action_view/buffers.rb
actionpack-3.1.0.rc3 lib/action_view/buffers.rb
actionpack-3.1.0.rc2 lib/action_view/buffers.rb