escape_utils 0.1.9 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,17 @@
1
+ # encoding: UTF-8
2
+ require 'mkmf'
3
+ require 'rbconfig'
4
+
5
+ $CFLAGS << ' -Wall -funroll-loops'
6
+ $CFLAGS << ' -Wextra -O0 -ggdb3' if ENV['DEBUG']
7
+
8
+ if try_compile(<<SRC)
9
+ #include <ruby.h>
10
+ int main(void) { rb_cvar_set(Qnil, Qnil, Qnil); return 0; }
11
+ SRC
12
+ $CFLAGS << " -DRB_CVAR_SET_ARITY=3 "
13
+ else
14
+ $CFLAGS << " -DRB_CVAR_SET_ARITY=4 "
15
+ end
16
+
17
+ create_makefile("escape_utils")
data/lib/escape_utils.rb CHANGED
@@ -1,22 +1,13 @@
1
1
  # encoding: utf-8
2
-
3
- require 'escape_utils_ext'
2
+ require 'escape_utils/escape_utils'
3
+ require 'escape_utils/version' unless defined? EscapeUtils::VERSION
4
4
 
5
5
  EscapeUtils.send(:extend, EscapeUtils)
6
6
  module EscapeUtils
7
- VERSION = "0.1.9"
8
-
9
7
  # turn on/off the escaping of the '/' character during HTML escaping
10
8
  # Escaping '/' is recommended by the OWASP - http://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet#RULE_.231_-_HTML_Escape_Before_Inserting_Untrusted_Data_into_HTML_Element_Content
11
9
  # This is because quotes around HTML attributes are optional in most/all modern browsers at the time of writing (10/15/2010)
12
10
  @@html_secure = true
13
11
 
14
- def self.html_secure
15
- @@html_secure
16
- end
17
- def self.html_secure=(val)
18
- @@html_secure = val
19
- end
20
-
21
12
  autoload :HtmlSafety, 'escape_utils/html_safety'
22
13
  end
@@ -7,13 +7,13 @@ module EscapeUtils
7
7
  if s.html_safe?
8
8
  s.to_s.html_safe
9
9
  else
10
- EscapeUtils.escape_html(s.to_s, EscapeUtils.html_secure).html_safe
10
+ EscapeUtils.escape_html(s.to_s).html_safe
11
11
  end
12
12
  end
13
13
  else
14
14
  def _escape_html(s)
15
- EscapeUtils.escape_html(s.to_s, EscapeUtils.html_secure)
15
+ EscapeUtils.escape_html(s.to_s)
16
16
  end
17
17
  end
18
18
  end
19
- end
19
+ end
@@ -0,0 +1,3 @@
1
+ module EscapeUtils
2
+ VERSION = "0.2.0"
3
+ end
@@ -33,9 +33,11 @@ describe EscapeUtils, "escape_html" do
33
33
  end
34
34
 
35
35
  if RUBY_VERSION =~ /^1.9/
36
- it "should default to utf-8 if Encoding.default_internal is nil" do
36
+ it "should default to the original string's encoding if Encoding.default_internal is nil" do
37
37
  Encoding.default_internal = nil
38
- EscapeUtils.escape_html("<b>Bourbon & Branch</b>").encoding.should eql(Encoding.find('utf-8'))
38
+ str = "<b>Bourbon & Branch</b>"
39
+ str = str.encode('us-ascii')
40
+ EscapeUtils.escape_html(str).encoding.should eql(Encoding.find('us-ascii'))
39
41
  end
40
42
 
41
43
  it "should use Encoding.default_internal" do
@@ -22,10 +22,17 @@ describe EscapeUtils, "unescape_html" do
22
22
  EscapeUtils.unescape_html("&lt;b&gt;Bourbon &amp; Branch&lt;&#47;b&gt;").should eql("<b>Bourbon & Branch</b>")
23
23
  end
24
24
 
25
+ it "should pass through incompletely escaped tags" do
26
+ EscapeUtils.unescape_html("&").should eql("&")
27
+ EscapeUtils.unescape_html("&lt").should eql("&lt")
28
+ end
29
+
25
30
  if RUBY_VERSION =~ /^1.9/
26
- it "should default to utf-8 if Encoding.default_internal is nil" do
31
+ it "should default to the original string's encoding if Encoding.default_internal is nil" do
27
32
  Encoding.default_internal = nil
28
- EscapeUtils.unescape_html("&lt;b&gt;Bourbon &amp; Branch&lt;/b&gt;").encoding.should eql(Encoding.find('utf-8'))
33
+ str = "&lt;b&gt;Bourbon &amp; Branch&lt;/b&gt;"
34
+ str = str.encode('us-ascii')
35
+ EscapeUtils.unescape_html(str).encoding.should eql(Encoding.find('us-ascii'))
29
36
  end
30
37
 
31
38
  it "should use Encoding.default_internal" do
@@ -24,9 +24,11 @@ describe EscapeUtils, "escape_javascript" do
24
24
  end
25
25
 
26
26
  if RUBY_VERSION =~ /^1.9/
27
- it "should default to utf-8 if Encoding.default_internal is nil" do
27
+ it "should default to the original string's encoding if Encoding.default_internal is nil" do
28
28
  Encoding.default_internal = nil
29
- EscapeUtils.escape_javascript(%(dont </close> tags)).encoding.should eql(Encoding.find('utf-8'))
29
+ str = %(dont </close> tags)
30
+ str = str.encode('us-ascii')
31
+ EscapeUtils.escape_javascript(str).encoding.should eql(Encoding.find('us-ascii'))
30
32
  end
31
33
 
32
34
  it "should use Encoding.default_internal" do
@@ -23,10 +23,16 @@ describe EscapeUtils, "unescape_javascript" do
23
23
  EscapeUtils.unescape_javascript(%(dont <\\/close> tags)).should eql(%(dont </close> tags))
24
24
  end
25
25
 
26
+ it "should pass through standalone '\'" do
27
+ EscapeUtils.unescape_javascript("\\").should eql("\\")
28
+ end
29
+
26
30
  if RUBY_VERSION =~ /^1.9/
27
- it "should default to utf-8 if Encoding.default_internal is nil" do
31
+ it "should default to the original string's encoding if Encoding.default_internal is nil" do
28
32
  Encoding.default_internal = nil
29
- EscapeUtils.unescape_javascript(%(dont <\\/close> tags)).encoding.should eql(Encoding.find('utf-8'))
33
+ str = %(dont <\\/close> tags)
34
+ str = str.encode('us-ascii')
35
+ EscapeUtils.unescape_javascript(str).encoding.should eql(Encoding.find('us-ascii'))
30
36
  end
31
37
 
32
38
  it "should use Encoding.default_internal" do
@@ -37,9 +37,11 @@ describe EscapeUtils, "escape_url" do
37
37
  end
38
38
 
39
39
  if RUBY_VERSION =~ /^1.9/
40
- it "should default to utf-8 if Encoding.default_internal is nil" do
40
+ it "should default to the original string's encoding if Encoding.default_internal is nil" do
41
41
  Encoding.default_internal = nil
42
- EscapeUtils.escape_url("http://www.homerun.com/").encoding.should eql(Encoding.find('utf-8'))
42
+ str = "http://www.homerun.com/"
43
+ str = str.encode('us-ascii')
44
+ EscapeUtils.escape_url(str).encoding.should eql(Encoding.find('us-ascii'))
43
45
  end
44
46
 
45
47
  it "should use Encoding.default_internal" do
@@ -37,9 +37,11 @@ describe EscapeUtils, "unescape_url" do
37
37
  end
38
38
 
39
39
  if RUBY_VERSION =~ /^1.9/
40
- it "should default to utf-8 if Encoding.default_internal is nil" do
40
+ it "should default to the original string's encoding if Encoding.default_internal is nil" do
41
41
  Encoding.default_internal = nil
42
- EscapeUtils.unescape_url("http%3A%2F%2Fwww.homerun.com%2F").encoding.should eql(Encoding.find('utf-8'))
42
+ str = "http%3A%2F%2Fwww.homerun.com%2F"
43
+ str = str.encode('us-ascii')
44
+ EscapeUtils.unescape_url(str).encoding.should eql(Encoding.find('us-ascii'))
43
45
  end
44
46
 
45
47
  it "should use Encoding.default_internal" do
data/spec/spec_helper.rb CHANGED
@@ -2,4 +2,5 @@
2
2
  $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/..')
3
3
  $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
4
4
 
5
+ require 'rspec'
5
6
  require 'escape_utils'
@@ -1,13 +1,17 @@
1
1
  # encoding: UTF-8
2
2
  require File.expand_path(File.dirname(__FILE__) + '/../spec_helper.rb')
3
+ require 'uri'
3
4
 
4
5
  describe EscapeUtils, "escape_uri" do
5
6
  it "should respond to escape_uri" do
6
7
  EscapeUtils.should respond_to(:escape_uri)
7
8
  end
8
9
 
9
- it "should escape a basic url" do
10
- EscapeUtils.escape_uri("http://www.homerun.com/").should eql("http%3A%2F%2Fwww.homerun.com%2F")
10
+ it "should escape each byte exactly like URI.escape" do
11
+ (0..255).each do |i|
12
+ c = i.chr
13
+ EscapeUtils.escape_uri(c).should eql(URI.escape(c))
14
+ end
11
15
  end
12
16
 
13
17
  # NOTE: from Rack's test suite
@@ -21,11 +25,6 @@ describe EscapeUtils, "escape_uri" do
21
25
  EscapeUtils.escape_uri("a sp ace ").should eql("a%20%20%20sp%20ace%20")
22
26
  end
23
27
 
24
- # NOTE: from Rack's test suite
25
- it "should escape a string of mixed characters" do
26
- EscapeUtils.escape_uri("q1!2\"'w$5&7/z8)?\\").should eql("q1%212%22%27w%245%267%2Fz8%29%3F%5C")
27
- end
28
-
29
28
  # NOTE: from Rack's test suite
30
29
  it "should escape correctly for multibyte characters" do
31
30
  matz_name = "\xE3\x81\xBE\xE3\x81\xA4\xE3\x82\x82\xE3\x81\xA8".unpack("a*")[0] # Matsumoto
@@ -37,9 +36,11 @@ describe EscapeUtils, "escape_uri" do
37
36
  end
38
37
 
39
38
  if RUBY_VERSION =~ /^1.9/
40
- it "should default to utf-8 if Encoding.default_internal is nil" do
39
+ it "should default to the original string's encoding if Encoding.default_internal is nil" do
41
40
  Encoding.default_internal = nil
42
- EscapeUtils.escape_uri("http://www.homerun.com/").encoding.should eql(Encoding.find('utf-8'))
41
+ str = "http://www.homerun.com/"
42
+ str = str.encode('us-ascii')
43
+ EscapeUtils.escape_uri(str).encoding.should eql(Encoding.find('us-ascii'))
43
44
  end
44
45
 
45
46
  it "should use Encoding.default_internal" do
@@ -11,6 +11,14 @@ describe EscapeUtils, "unescape_uri" do
11
11
  EscapeUtils.unescape_uri("http://www.homerun.com/").should eql("http://www.homerun.com/")
12
12
  end
13
13
 
14
+ it "should not be thrown by a standalone %" do
15
+ EscapeUtils.unescape_uri("%").should eql("%")
16
+ end
17
+
18
+ it "should not be thrown by a trailing %" do
19
+ EscapeUtils.unescape_uri("http%").should eql("http%")
20
+ end
21
+
14
22
  # NOTE: from Rack's test suite
15
23
  it "should unescape a url containing tags" do
16
24
  EscapeUtils.unescape_uri("fo%3Co%3Ebar").should eql("fo<o>bar")
@@ -40,9 +48,11 @@ describe EscapeUtils, "unescape_uri" do
40
48
  end
41
49
 
42
50
  if RUBY_VERSION =~ /^1.9/
43
- it "should default to utf-8 if Encoding.default_internal is nil" do
51
+ it "should default to the original string's encoding if Encoding.default_internal is nil" do
44
52
  Encoding.default_internal = nil
45
- EscapeUtils.unescape_uri("http%3A%2F%2Fwww.homerun.com%2F").encoding.should eql(Encoding.find('utf-8'))
53
+ str = "http%3A%2F%2Fwww.homerun.com%2F"
54
+ str = str.encode('us-ascii')
55
+ EscapeUtils.unescape_uri(str).encoding.should eql(Encoding.find('us-ascii'))
46
56
  end
47
57
 
48
58
  it "should use Encoding.default_internal" do
@@ -1,5 +1,6 @@
1
1
  # encoding: UTF-8
2
2
  require File.expand_path(File.dirname(__FILE__) + '/../spec_helper.rb')
3
+ require 'cgi'
3
4
 
4
5
  describe EscapeUtils, "escape_url" do
5
6
  it "should respond to escape_url" do
@@ -10,6 +11,13 @@ describe EscapeUtils, "escape_url" do
10
11
  EscapeUtils.escape_url("http://www.homerun.com/").should eql("http%3A%2F%2Fwww.homerun.com%2F")
11
12
  end
12
13
 
14
+ it "should escape each possible byte value exactly like CGI.escape" do
15
+ (0..255).each do |i|
16
+ c = i.chr
17
+ EscapeUtils.escape_url(c).should eql(CGI.escape(c))
18
+ end
19
+ end
20
+
13
21
  # NOTE: from Rack's test suite
14
22
  it "should escape a url containing tags" do
15
23
  EscapeUtils.escape_url("fo<o>bar").should eql("fo%3Co%3Ebar")
@@ -37,9 +45,11 @@ describe EscapeUtils, "escape_url" do
37
45
  end
38
46
 
39
47
  if RUBY_VERSION =~ /^1.9/
40
- it "should default to utf-8 if Encoding.default_internal is nil" do
48
+ it "should default to the original string's encoding if Encoding.default_internal is nil" do
41
49
  Encoding.default_internal = nil
42
- EscapeUtils.escape_url("http://www.homerun.com/").encoding.should eql(Encoding.find('utf-8'))
50
+ str = "http://www.homerun.com/"
51
+ str = str.encode('us-ascii')
52
+ EscapeUtils.escape_url(str).encoding.should eql(Encoding.find('us-ascii'))
43
53
  end
44
54
 
45
55
  it "should use Encoding.default_internal" do
@@ -1,55 +1,65 @@
1
1
  # encoding: UTF-8
2
2
  require File.expand_path(File.dirname(__FILE__) + '/../spec_helper.rb')
3
3
 
4
- describe EscapeUtils, "unescape_uri" do
5
- it "should respond to unescape_uri" do
6
- EscapeUtils.should respond_to(:unescape_uri)
4
+ describe EscapeUtils, "unescape_url" do
5
+ it "should respond to unescape_url" do
6
+ EscapeUtils.should respond_to(:unescape_url)
7
7
  end
8
8
 
9
9
  it "should unescape a basic url" do
10
- EscapeUtils.unescape_uri("http%3A%2F%2Fwww.homerun.com%2F").should eql("http://www.homerun.com/")
11
- EscapeUtils.unescape_uri("http://www.homerun.com/").should eql("http://www.homerun.com/")
10
+ EscapeUtils.unescape_url("http%3A%2F%2Fwww.homerun.com%2F").should eql("http://www.homerun.com/")
11
+ EscapeUtils.unescape_url("http://www.homerun.com/").should eql("http://www.homerun.com/")
12
+ end
13
+
14
+ it "should not be thrown by a standalone %" do
15
+ EscapeUtils.unescape_url("%").should eql("%")
16
+ end
17
+
18
+ it "should not be thrown by a trailing %" do
19
+ EscapeUtils.unescape_url("http%").should eql("http%")
12
20
  end
13
21
 
14
22
  # NOTE: from Rack's test suite
15
23
  it "should unescape a url containing tags" do
16
- EscapeUtils.unescape_uri("fo%3Co%3Ebar").should eql("fo<o>bar")
24
+ EscapeUtils.unescape_url("fo%3Co%3Ebar").should eql("fo<o>bar")
17
25
  end
18
26
 
19
27
  # NOTE: from Rack's test suite
20
28
  it "should unescape a url with spaces" do
21
- EscapeUtils.unescape_uri("a%20space").should eql("a space")
22
- EscapeUtils.unescape_uri("a%20%20%20sp%20ace%20").should eql("a sp ace ")
23
- EscapeUtils.unescape_uri("a+space").should eql("a+space")
29
+ EscapeUtils.unescape_url("a%20space").should eql("a space")
30
+ EscapeUtils.unescape_url("a%20%20%20sp%20ace%20").should eql("a sp ace ")
31
+ EscapeUtils.unescape_url("a+space").should eql("a space")
24
32
  end
25
33
 
26
34
  # NOTE: from Rack's test suite
27
35
  it "should unescape a string of mixed characters" do
28
- EscapeUtils.unescape_uri("q1%212%22%27w%245%267%2Fz8%29%3F%5C").should eql("q1!2\"'w$5&7/z8)?\\")
29
- EscapeUtils.unescape_uri("q1!2%22'w$5&7/z8)?%5C").should eql("q1!2\"'w$5&7/z8)?\\")
36
+ EscapeUtils.unescape_url("q1%212%22%27w%245%267%2Fz8%29%3F%5C").should eql("q1!2\"'w$5&7/z8)?\\")
37
+ EscapeUtils.unescape_url("q1!2%22'w$5&7/z8)?%5C").should eql("q1!2\"'w$5&7/z8)?\\")
30
38
  end
31
39
 
32
40
  # NOTE: from Rack's test suite
33
41
  it "should unescape correctly for multibyte characters" do
34
42
  matz_name = "\xE3\x81\xBE\xE3\x81\xA4\xE3\x82\x82\xE3\x81\xA8".unpack("a*")[0] # Matsumoto
35
43
  matz_name.force_encoding("UTF-8") if matz_name.respond_to? :force_encoding
36
- EscapeUtils.unescape_uri('%E3%81%BE%E3%81%A4%E3%82%82%E3%81%A8').should eql(matz_name)
44
+ EscapeUtils.unescape_url('%E3%81%BE%E3%81%A4%E3%82%82%E3%81%A8').should eql(matz_name)
37
45
  matz_name_sep = "\xE3\x81\xBE\xE3\x81\xA4 \xE3\x82\x82\xE3\x81\xA8".unpack("a*")[0] # Matsu moto
38
46
  matz_name_sep.force_encoding("UTF-8") if matz_name_sep.respond_to? :force_encoding
39
- EscapeUtils.unescape_uri('%E3%81%BE%E3%81%A4%20%E3%82%82%E3%81%A8').should eql(matz_name_sep)
47
+ EscapeUtils.unescape_url('%E3%81%BE%E3%81%A4%20%E3%82%82%E3%81%A8').should eql(matz_name_sep)
40
48
  end
41
49
 
42
50
  if RUBY_VERSION =~ /^1.9/
43
- it "should default to utf-8 if Encoding.default_internal is nil" do
51
+ it "should default to the original string's encoding if Encoding.default_internal is nil" do
44
52
  Encoding.default_internal = nil
45
- EscapeUtils.unescape_uri("http%3A%2F%2Fwww.homerun.com%2F").encoding.should eql(Encoding.find('utf-8'))
53
+ str = "http%3A%2F%2Fwww.homerun.com%2F"
54
+ str = str.encode('us-ascii')
55
+ EscapeUtils.unescape_url(str).encoding.should eql(Encoding.find('us-ascii'))
46
56
  end
47
57
 
48
58
  it "should use Encoding.default_internal" do
49
59
  Encoding.default_internal = Encoding.find('utf-8')
50
- EscapeUtils.unescape_uri("http%3A%2F%2Fwww.homerun.com%2F").encoding.should eql(Encoding.default_internal)
60
+ EscapeUtils.unescape_url("http%3A%2F%2Fwww.homerun.com%2F").encoding.should eql(Encoding.default_internal)
51
61
  Encoding.default_internal = Encoding.find('us-ascii')
52
- EscapeUtils.unescape_uri("http%3A%2F%2Fwww.homerun.com%2F").encoding.should eql(Encoding.default_internal)
62
+ EscapeUtils.unescape_url("http%3A%2F%2Fwww.homerun.com%2F").encoding.should eql(Encoding.default_internal)
53
63
  end
54
64
  end
55
65
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: escape_utils
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
5
- prerelease: false
4
+ hash: 23
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
- - 1
9
- - 9
10
- version: 0.1.9
8
+ - 2
9
+ - 0
10
+ version: 0.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Brian Lopez
@@ -15,21 +15,124 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-15 00:00:00 -07:00
18
+ date: 2011-02-08 00:00:00 -08:00
19
19
  default_executable:
20
- dependencies: []
21
-
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rake-compiler
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 9
30
+ segments:
31
+ - 0
32
+ - 7
33
+ - 5
34
+ version: 0.7.5
35
+ type: :development
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: rspec
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 15
46
+ segments:
47
+ - 2
48
+ - 0
49
+ - 0
50
+ version: 2.0.0
51
+ type: :development
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: rack
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ hash: 3
62
+ segments:
63
+ - 0
64
+ version: "0"
65
+ type: :development
66
+ version_requirements: *id003
67
+ - !ruby/object:Gem::Dependency
68
+ name: haml
69
+ prerelease: false
70
+ requirement: &id004 !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ hash: 3
76
+ segments:
77
+ - 0
78
+ version: "0"
79
+ type: :development
80
+ version_requirements: *id004
81
+ - !ruby/object:Gem::Dependency
82
+ name: fast_xs
83
+ prerelease: false
84
+ requirement: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ hash: 3
90
+ segments:
91
+ - 0
92
+ version: "0"
93
+ type: :development
94
+ version_requirements: *id005
95
+ - !ruby/object:Gem::Dependency
96
+ name: actionpack
97
+ prerelease: false
98
+ requirement: &id006 !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ hash: 3
104
+ segments:
105
+ - 0
106
+ version: "0"
107
+ type: :development
108
+ version_requirements: *id006
109
+ - !ruby/object:Gem::Dependency
110
+ name: url_escape
111
+ prerelease: false
112
+ requirement: &id007 !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ hash: 3
118
+ segments:
119
+ - 0
120
+ version: "0"
121
+ type: :development
122
+ version_requirements: *id007
22
123
  description:
23
124
  email: seniorlopez@gmail.com
24
125
  executables: []
25
126
 
26
127
  extensions:
27
- - ext/extconf.rb
128
+ - ext/escape_utils/extconf.rb
28
129
  extra_rdoc_files:
29
130
  - README.rdoc
30
131
  files:
31
132
  - .gitignore
133
+ - .rspec
32
134
  - CHANGELOG.md
135
+ - Gemfile
33
136
  - MIT-LICENSE
34
137
  - README.rdoc
35
138
  - Rakefile
@@ -41,8 +144,8 @@ files:
41
144
  - benchmark/url_escape.rb
42
145
  - benchmark/url_unescape.rb
43
146
  - escape_utils.gemspec
44
- - ext/escape_utils.c
45
- - ext/extconf.rb
147
+ - ext/escape_utils/escape_utils.c
148
+ - ext/escape_utils/extconf.rb
46
149
  - lib/escape_utils.rb
47
150
  - lib/escape_utils/html/cgi.rb
48
151
  - lib/escape_utils/html/erb.rb
@@ -54,6 +157,7 @@ files:
54
157
  - lib/escape_utils/url/erb.rb
55
158
  - lib/escape_utils/url/rack.rb
56
159
  - lib/escape_utils/url/uri.rb
160
+ - lib/escape_utils/version.rb
57
161
  - spec/html/escape_spec.rb
58
162
  - spec/html/unescape_spec.rb
59
163
  - spec/html_safety_spec.rb
@@ -62,7 +166,6 @@ files:
62
166
  - spec/query/escape_spec.rb
63
167
  - spec/query/unescape_spec.rb
64
168
  - spec/rcov.opts
65
- - spec/spec.opts
66
169
  - spec/spec_helper.rb
67
170
  - spec/uri/escape_spec.rb
68
171
  - spec/uri/unescape_spec.rb
@@ -99,7 +202,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
202
  requirements: []
100
203
 
101
204
  rubyforge_project:
102
- rubygems_version: 1.3.7
205
+ rubygems_version: 1.4.1
103
206
  signing_key:
104
207
  specification_version: 3
105
208
  summary: Faster string escaping routines for your web apps
@@ -111,6 +214,7 @@ test_files:
111
214
  - spec/javascript/unescape_spec.rb
112
215
  - spec/query/escape_spec.rb
113
216
  - spec/query/unescape_spec.rb
217
+ - spec/rcov.opts
114
218
  - spec/spec_helper.rb
115
219
  - spec/uri/escape_spec.rb
116
220
  - spec/uri/unescape_spec.rb