module ERB::Escape
A subset of ERB::Util
. Unlike ERB::Util#html_escape, we expect/hope Rails will not monkey-patch ERB::Escape#html_escape.
Public Class Methods
Source
static VALUE erb_escape_html(VALUE self, VALUE str) { if (!RB_TYPE_P(str, T_STRING)) { str = rb_convert_type(str, T_STRING, "String", "to_s"); } if (rb_enc_str_asciicompat_p(str)) { return optimized_escape_html(str); } else { return rb_funcall(rb_cCGI, id_escapeHTML, 1, str); } }
ERB::Util.html_escape is similar to CGI.escapeHTML but different in the following two parts:
-
ERB::Util.html_escape converts an argument with to_s first (only if it’s not T_STRING)
-
ERB::Util.html_escape does not allocate a new string when nothing needs to be escaped