escape_utils 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +3 -0
- data/README.rdoc +24 -12
- data/VERSION +1 -1
- data/escape_utils.gemspec +6 -5
- data/lib/escape_utils.rb +1 -1
- data/lib/escape_utils/{cgi.rb → html/cgi.rb} +0 -0
- data/lib/escape_utils/{erb.rb → html/erb.rb} +0 -0
- data/lib/escape_utils/{haml.rb → html/haml.rb} +0 -0
- data/lib/escape_utils/{rack.rb → html/rack.rb} +0 -0
- data/lib/escape_utils/javascript/action_view.rb +11 -0
- metadata +7 -6
data/CHANGELOG.md
CHANGED
data/README.rdoc
CHANGED
@@ -4,7 +4,7 @@ Being as though we're all html escaping everything these days, why not make it f
|
|
4
4
|
|
5
5
|
At the moment escape_utils supports escaping and unescaping of HTML, and Javascript but I wanna add URL encoding soon
|
6
6
|
|
7
|
-
It has monkey-patches for Rack::Utils, CGI, ERB::Util and Haml
|
7
|
+
It has monkey-patches for Rack::Utils, CGI, ERB::Util and Haml and ActionView so you can drop this in and have your app start escaping fast as balls in no time
|
8
8
|
|
9
9
|
== Installing
|
10
10
|
|
@@ -12,28 +12,36 @@ It has monkey-patches for Rack::Utils, CGI, ERB::Util and Haml
|
|
12
12
|
|
13
13
|
== Usage
|
14
14
|
|
15
|
-
===
|
15
|
+
=== HTML
|
16
|
+
|
17
|
+
==== Escaping
|
16
18
|
|
17
19
|
html = `curl -s http://maps.google.com`
|
18
20
|
escaped_html = EscapeUtils.escape_html(html)
|
19
21
|
|
20
|
-
|
22
|
+
==== Unescaping
|
21
23
|
|
22
24
|
html = `curl -s http://maps.google.com`
|
23
25
|
escaped_html = EscapeUtils.escape_html(html)
|
24
26
|
html = EscapeUtils.unescape_html(escaped_html)
|
25
27
|
|
26
|
-
|
28
|
+
==== Monkey Patches
|
29
|
+
|
30
|
+
require 'escape_utils/html/rack' # to patch Rack::Utils
|
31
|
+
require 'escape_utils/html/erb' # to patch ERB::Util
|
32
|
+
require 'escape_utils/html/cgi' # to patch CGI
|
33
|
+
require 'escape_utils/html/haml' # to patch Haml::Helpers
|
34
|
+
|
35
|
+
=== Javascript
|
36
|
+
|
37
|
+
==== Escaping
|
27
38
|
|
28
39
|
javascript = `curl -s http://code.jquery.com/jquery-1.4.2.js`
|
29
40
|
escaped_javascript = EscapeUtils.escape_javascript(javascript)
|
30
41
|
|
31
|
-
|
42
|
+
==== Monkey Patches
|
32
43
|
|
33
|
-
require 'escape_utils/
|
34
|
-
require 'escape_utils/erb' # to patch ERB::Util
|
35
|
-
require 'escape_utils/cgi' # to patch CGI
|
36
|
-
require 'escape_utils/haml' # to patch Haml::Helpers
|
44
|
+
require 'escape_utils/javascript/action_view' # to patch ActionView::Helpers::JavaScriptHelper
|
37
45
|
|
38
46
|
== Benchmarks
|
39
47
|
|
@@ -42,7 +50,9 @@ While unescaping is around 20-40x faster than CGI.unescapeHTML - also pure ruby.
|
|
42
50
|
|
43
51
|
This output is from my laptop using the benchmark scripts in the benchmarks folder.
|
44
52
|
|
45
|
-
=== HTML
|
53
|
+
=== HTML
|
54
|
+
|
55
|
+
==== Escaping
|
46
56
|
|
47
57
|
Rack::Utils.escape_html
|
48
58
|
0.560000 0.040000 0.600000 ( 0.589475)
|
@@ -55,14 +65,16 @@ This output is from my laptop using the benchmark scripts in the benchmarks fold
|
|
55
65
|
EscapeUtils.escape_html
|
56
66
|
0.050000 0.010000 0.060000 ( 0.054799)
|
57
67
|
|
58
|
-
===
|
68
|
+
=== Unescaping
|
59
69
|
|
60
70
|
CGI.unescapeHTML
|
61
71
|
1.140000 0.010000 1.150000 ( 1.148470)
|
62
72
|
EscapeUtils.unescape_html
|
63
73
|
0.040000 0.000000 0.040000 ( 0.046166)
|
64
74
|
|
65
|
-
=== Javascript
|
75
|
+
=== Javascript
|
76
|
+
|
77
|
+
==== Escaping
|
66
78
|
|
67
79
|
ActionView::Helpers::JavaScriptHelper#escape_javascript
|
68
80
|
2.000000 0.020000 2.020000 ( 2.023047)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
data/escape_utils.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{escape_utils}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Brian Lopez"]
|
@@ -29,10 +29,11 @@ Gem::Specification.new do |s|
|
|
29
29
|
"ext/escape_utils.c",
|
30
30
|
"ext/extconf.rb",
|
31
31
|
"lib/escape_utils.rb",
|
32
|
-
"lib/escape_utils/cgi.rb",
|
33
|
-
"lib/escape_utils/erb.rb",
|
34
|
-
"lib/escape_utils/haml.rb",
|
35
|
-
"lib/escape_utils/rack.rb",
|
32
|
+
"lib/escape_utils/html/cgi.rb",
|
33
|
+
"lib/escape_utils/html/erb.rb",
|
34
|
+
"lib/escape_utils/html/haml.rb",
|
35
|
+
"lib/escape_utils/html/rack.rb",
|
36
|
+
"lib/escape_utils/javascript/action_view.rb",
|
36
37
|
"spec/html/escape_spec.rb",
|
37
38
|
"spec/html/unescape_spec.rb",
|
38
39
|
"spec/javascript/escape_spec.rb",
|
data/lib/escape_utils.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 2
|
9
|
+
version: 0.1.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Brian Lopez
|
@@ -40,10 +40,11 @@ files:
|
|
40
40
|
- ext/escape_utils.c
|
41
41
|
- ext/extconf.rb
|
42
42
|
- lib/escape_utils.rb
|
43
|
-
- lib/escape_utils/cgi.rb
|
44
|
-
- lib/escape_utils/erb.rb
|
45
|
-
- lib/escape_utils/haml.rb
|
46
|
-
- lib/escape_utils/rack.rb
|
43
|
+
- lib/escape_utils/html/cgi.rb
|
44
|
+
- lib/escape_utils/html/erb.rb
|
45
|
+
- lib/escape_utils/html/haml.rb
|
46
|
+
- lib/escape_utils/html/rack.rb
|
47
|
+
- lib/escape_utils/javascript/action_view.rb
|
47
48
|
- spec/html/escape_spec.rb
|
48
49
|
- spec/html/unescape_spec.rb
|
49
50
|
- spec/javascript/escape_spec.rb
|