Sha256: 5d0d11282c26a93d79b084b84c0c192319a065b02062bc160c7af8ef1da03da4
Contents?: true
Size: 1.95 KB
Versions: 1
Compression:
Stored size: 1.95 KB
Contents
= escape_utils Being as though we're all html escaping everything these days, why not make it faster? At the moment escape_utils supports escaping and unescaping of HTML, and Javascript but I wanna add URL encoding soon It has monkey-patches for Rack::Utils, CGI, ERB::Util and Haml == Installing gem install escape_utils == Usage === Escaping HTML html = `curl -s http://maps.google.com` escaped_html = EscapeUtils.escape_html(html) === Unescaping HTML html = `curl -s http://maps.google.com` escaped_html = EscapeUtils.escape_html(html) html = EscapeUtils.unescape_html(escaped_html) === Escaping Javascript javascript = `curl -s http://code.jquery.com/jquery-1.4.2.js` escaped_javascript = EscapeUtils.escape_javascript(javascript) === Monkey Patches require 'escape_utils/rack' # to patch Rack::Utils require 'escape_utils/erb' # to patch ERB::Util require 'escape_utils/cgi' # to patch CGI require 'escape_utils/haml' # to patch Haml::Helpers == Benchmarks In my testing, escaping is around 10-20x faster than the pure ruby implementations in wide use today. While unescaping is around 20-40x faster than CGI.unescapeHTML - also pure ruby. This output is from my laptop using the benchmark scripts in the benchmarks folder. === HTML Escaping Rack::Utils.escape_html 0.560000 0.040000 0.600000 ( 0.589475) ERB::Util.html_escape 0.450000 0.040000 0.490000 ( 0.492893) CGI.escapeHTML 0.460000 0.030000 0.490000 ( 0.490171) Haml::Helpers.html_escape 0.430000 0.010000 0.440000 ( 0.444694) EscapeUtils.escape_html 0.050000 0.010000 0.060000 ( 0.054799) === HTML Unescaping CGI.unescapeHTML 1.140000 0.010000 1.150000 ( 1.148470) EscapeUtils.unescape_html 0.040000 0.000000 0.040000 ( 0.046166) === Javascript Escaping ActionView::Helpers::JavaScriptHelper#escape_javascript 2.000000 0.020000 2.020000 ( 2.023047) EscapeUtils.escape_javascript 0.110000 0.010000 0.120000 ( 0.121761)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
escape_utils-0.1.1 | README.rdoc |