Sha256: 7300642e94cd335018682865bdc2362d9f8946f4b855c7a1d34c8cabe6aa3ff4

Contents?: true

Size: 1.36 KB

Versions: 54

Compression:

Stored size: 1.36 KB

Contents

require 'active_support/core_ext/string/output_safety'

module ActionView #:nodoc:
  # = Action View Raw Output Helper
  module Helpers #:nodoc:
    module OutputSafetyHelper
      # This method outputs without escaping a string. Since escaping tags is
      # now default, this can be used when you don't want Rails to automatically
      # escape tags. This is not recommended if the data is coming from the user's
      # input.
      #
      # For example:
      #
      #  raw @user.name
      #  # => 'Jimmy <alert>Tables</alert>'
      def raw(stringish)
        stringish.to_s.html_safe
      end

      # This method returns an HTML safe string similar to what <tt>Array#join</tt>
      # would return. The array is flattened, and all items, including
      # the supplied separator, are HTML escaped unless they are HTML
      # safe, and the returned string is marked as HTML safe.
      #
      #   safe_join(["<p>foo</p>".html_safe, "<p>bar</p>"], "<br />")
      #   # => "<p>foo</p>&lt;br /&gt;&lt;p&gt;bar&lt;/p&gt;"
      #
      #   safe_join(["<p>foo</p>".html_safe, "<p>bar</p>".html_safe], "<br />".html_safe)
      #   # => "<p>foo</p><br /><p>bar</p>"
      #
      def safe_join(array, sep=$,)
        sep = ERB::Util.unwrapped_html_escape(sep)

        array.flatten.map! { |i| ERB::Util.unwrapped_html_escape(i) }.join(sep).html_safe
      end
    end
  end
end

Version data entries

54 entries across 53 versions & 8 rubygems

Version Path
actionview-4.2.11.3 lib/action_view/helpers/output_safety_helper.rb
actionview-4.2.11.2 lib/action_view/helpers/output_safety_helper.rb
actionview-4.2.11.1 lib/action_view/helpers/output_safety_helper.rb
actionview-4.2.11 lib/action_view/helpers/output_safety_helper.rb
actionview-4.2.10 lib/action_view/helpers/output_safety_helper.rb
actionview-4.2.10.rc1 lib/action_view/helpers/output_safety_helper.rb
actionview-4.2.9 lib/action_view/helpers/output_safety_helper.rb
actionview-4.2.9.rc2 lib/action_view/helpers/output_safety_helper.rb
actionview-4.2.9.rc1 lib/action_view/helpers/output_safety_helper.rb
enju_leaf-1.2.1 vendor/bundle/ruby/2.3/gems/actionview-4.2.8/lib/action_view/helpers/output_safety_helper.rb
actionview-4.2.8 lib/action_view/helpers/output_safety_helper.rb
actionview-4.2.8.rc1 lib/action_view/helpers/output_safety_helper.rb
actionview-4.2.7.1 lib/action_view/helpers/output_safety_helper.rb
actionview-4.2.7 lib/action_view/helpers/output_safety_helper.rb
actionview-4.2.7.rc1 lib/action_view/helpers/output_safety_helper.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/actionview-4.2.6/lib/action_view/helpers/output_safety_helper.rb
actionview-4.2.6 lib/action_view/helpers/output_safety_helper.rb
actionview-4.2.6.rc1 lib/action_view/helpers/output_safety_helper.rb
actionview-4.2.5.2 lib/action_view/helpers/output_safety_helper.rb
activejob-lock-0.0.2 rails/actionview/lib/action_view/helpers/output_safety_helper.rb