Namespace

Class

Methods

Constants

UNSAFE_STRING_METHODS = %w( capitalize chomp chop delete delete_prefix delete_suffix downcase lstrip next reverse rstrip scrub slice squeeze strip succ swapcase tr tr_s unicode_normalize upcase )
UNSAFE_STRING_METHODS_WITH_BACKREF = %w(gsub sub)

Class Public methods

new(str = "")

📝 Source code
# File activesupport/lib/active_support/core_ext/string/output_safety.rb, line 200
    def initialize(str = "")
      @html_safe = true
      super
    end
🔎 See on GitHub

Instance Public methods

%(args)

📝 Source code
# File activesupport/lib/active_support/core_ext/string/output_safety.rb, line 250
    def %(args)
      case args
      when Hash
        escaped_args = args.transform_values { |arg| html_escape_interpolated_argument(arg) }
      else
        escaped_args = Array(args).map { |arg| html_escape_interpolated_argument(arg) }
      end

      self.class.new(super(escaped_args))
    end
🔎 See on GitHub

*(*)

📝 Source code
# File activesupport/lib/active_support/core_ext/string/output_safety.rb, line 243
    def *(*)
      new_string = super
      new_safe_buffer = new_string.is_a?(SafeBuffer) ? new_string : SafeBuffer.new(new_string)
      new_safe_buffer.instance_variable_set(:@html_safe, @html_safe)
      new_safe_buffer
    end
🔎 See on GitHub

+(other)

📝 Source code
# File activesupport/lib/active_support/core_ext/string/output_safety.rb, line 239
    def +(other)
      dup.concat(other)
    end
🔎 See on GitHub

<<(value)

Alias for: concat

[](*args)

📝 Source code
# File activesupport/lib/active_support/core_ext/string/output_safety.rb, line 181
    def [](*args)
      if html_safe?
        new_string = super

        return unless new_string

        new_safe_buffer = new_string.is_a?(SafeBuffer) ? new_string : SafeBuffer.new(new_string)
        new_safe_buffer.instance_variable_set :@html_safe, true
        new_safe_buffer
      else
        to_str[*args]
      end
    end
🔎 See on GitHub

[]=(*args)

📝 Source code
# File activesupport/lib/active_support/core_ext/string/output_safety.rb, line 231
    def []=(*args)
      if args.length == 3
        super(args[0], args[1], html_escape_interpolated_argument(args[2]))
      else
        super(args[0], html_escape_interpolated_argument(args[1]))
      end
    end
🔎 See on GitHub

clone_empty()

📝 Source code
# File activesupport/lib/active_support/core_ext/string/output_safety.rb, line 210
    def clone_empty
      self[0, 0]
    end
🔎 See on GitHub

concat(value)

Also aliased as: original_concat, <<
📝 Source code
# File activesupport/lib/active_support/core_ext/string/output_safety.rb, line 214
    def concat(value)
      super(html_escape_interpolated_argument(value))
    end
🔎 See on GitHub

encode_with(coder)

📝 Source code
# File activesupport/lib/active_support/core_ext/string/output_safety.rb, line 273
    def encode_with(coder)
      coder.represent_object nil, to_str
    end
🔎 See on GitHub

html_safe?()

📝 Source code
# File activesupport/lib/active_support/core_ext/string/output_safety.rb, line 261
    def html_safe?
      defined?(@html_safe) && @html_safe
    end
🔎 See on GitHub

initialize_copy(other)

📝 Source code
# File activesupport/lib/active_support/core_ext/string/output_safety.rb, line 205
    def initialize_copy(other)
      super
      @html_safe = other.html_safe?
    end
🔎 See on GitHub

insert(index, value)

📝 Source code
# File activesupport/lib/active_support/core_ext/string/output_safety.rb, line 219
    def insert(index, value)
      super(index, html_escape_interpolated_argument(value))
    end
🔎 See on GitHub

original_concat(value)

Alias for: concat

prepend(value)

📝 Source code
# File activesupport/lib/active_support/core_ext/string/output_safety.rb, line 223
    def prepend(value)
      super(html_escape_interpolated_argument(value))
    end
🔎 See on GitHub

replace(value)

📝 Source code
# File activesupport/lib/active_support/core_ext/string/output_safety.rb, line 227
    def replace(value)
      super(html_escape_interpolated_argument(value))
    end
🔎 See on GitHub

safe_concat(value)

📝 Source code
# File activesupport/lib/active_support/core_ext/string/output_safety.rb, line 195
    def safe_concat(value)
      raise SafeConcatError unless html_safe?
      original_concat(value)
    end
🔎 See on GitHub

to_param()

📝 Source code
# File activesupport/lib/active_support/core_ext/string/output_safety.rb, line 269
    def to_param
      to_str
    end
🔎 See on GitHub

to_s()

📝 Source code
# File activesupport/lib/active_support/core_ext/string/output_safety.rb, line 265
    def to_s
      self
    end
🔎 See on GitHub