egregious 0.1.5 → 0.1.6
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/egregious.gemspec +3 -2
- data/lib/egregious/extensions/exception.rb +4 -2
- data/lib/egregious/version.rb +1 -1
- data/spec/exceptions_spec.rb +14 -0
- metadata +19 -21
data/egregious.gemspec
CHANGED
@@ -22,10 +22,11 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.add_development_dependency "rspec"
|
23
23
|
s.add_development_dependency "json"
|
24
24
|
s.add_development_dependency "hpricot"
|
25
|
-
s.add_development_dependency "rails", '~> 3.1.0'
|
26
|
-
s.add_development_dependency "rails", '~> 3.1.0'
|
27
25
|
s.add_development_dependency "warden"
|
28
26
|
s.add_development_dependency "cancan"
|
29
27
|
|
28
|
+
s.add_runtime_dependency "rails", '~> 3.1.0'
|
30
29
|
s.add_runtime_dependency "rack"
|
30
|
+
s.add_runtime_dependency "htmlentities"
|
31
|
+
|
31
32
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'htmlentities'
|
1
2
|
#
|
2
3
|
# We are opening up Exception and adding to_xml and to_json.
|
3
4
|
#
|
@@ -8,10 +9,11 @@ class Exception
|
|
8
9
|
end
|
9
10
|
|
10
11
|
def to_xml
|
11
|
-
"<errors><error>#{self.message}</error><type>#{self.exception_type}</type></errors>"
|
12
|
+
"<errors><error>#{HTMLEntities.new.encode(self.message)}</error><type>#{self.exception_type}</type></errors>"
|
12
13
|
end
|
13
14
|
|
14
15
|
def to_json
|
15
|
-
"{\"error\"
|
16
|
+
"{\"error\":#{ActiveSupport::JSON.encode(self.message.gsub(/\r/, ' ').gsub(/\n/, ' ').squeeze(' '))}, \"type\":\"#{self.exception_type}\"}"
|
16
17
|
end
|
18
|
+
|
17
19
|
end
|
data/lib/egregious/version.rb
CHANGED
data/spec/exceptions_spec.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'json'
|
3
3
|
require 'hpricot'
|
4
|
+
require 'htmlentities'
|
4
5
|
|
5
6
|
describe Exception do
|
6
7
|
it "should output valid xml on to_xml" do
|
@@ -11,12 +12,25 @@ describe Exception do
|
|
11
12
|
end
|
12
13
|
end
|
13
14
|
|
15
|
+
it "should output valid xml on to_xml with values to escape" do
|
16
|
+
doc = Hpricot.XML(Exception.new('<a title="1<2"/>').to_xml)
|
17
|
+
(doc/:errors).each do |error|
|
18
|
+
HTMLEntities.new.decode((error/:error).inner_html).should=='<a title="1<2"/>'
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
14
22
|
it "should output be valid json on to_json" do
|
15
23
|
result = JSON.parse(Exception.new("Yes").to_json)
|
16
24
|
result['error'].should == "Yes"
|
17
25
|
result['type'].should == "Exception"
|
18
26
|
end
|
19
27
|
|
28
|
+
it "should output be valid json on to_json with quotes" do
|
29
|
+
result = JSON.parse(Exception.new('Yes "its good"').to_json)
|
30
|
+
result['error'].should == 'Yes "its good"'
|
31
|
+
end
|
32
|
+
|
33
|
+
|
20
34
|
it "should parse module names out" do
|
21
35
|
module X
|
22
36
|
module Y
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: egregious
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 6
|
10
|
+
version: 0.1.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Russell Edens
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-10-
|
18
|
+
date: 2011-10-28 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -61,53 +61,51 @@ dependencies:
|
|
61
61
|
type: :development
|
62
62
|
version_requirements: *id003
|
63
63
|
- !ruby/object:Gem::Dependency
|
64
|
-
name:
|
64
|
+
name: warden
|
65
65
|
prerelease: false
|
66
66
|
requirement: &id004 !ruby/object:Gem::Requirement
|
67
67
|
none: false
|
68
68
|
requirements:
|
69
|
-
- -
|
69
|
+
- - ">="
|
70
70
|
- !ruby/object:Gem::Version
|
71
71
|
hash: 3
|
72
72
|
segments:
|
73
|
-
- 3
|
74
|
-
- 1
|
75
73
|
- 0
|
76
|
-
version:
|
74
|
+
version: "0"
|
77
75
|
type: :development
|
78
76
|
version_requirements: *id004
|
79
77
|
- !ruby/object:Gem::Dependency
|
80
|
-
name:
|
78
|
+
name: cancan
|
81
79
|
prerelease: false
|
82
80
|
requirement: &id005 !ruby/object:Gem::Requirement
|
83
81
|
none: false
|
84
82
|
requirements:
|
85
|
-
- -
|
83
|
+
- - ">="
|
86
84
|
- !ruby/object:Gem::Version
|
87
85
|
hash: 3
|
88
86
|
segments:
|
89
|
-
- 3
|
90
|
-
- 1
|
91
87
|
- 0
|
92
|
-
version:
|
88
|
+
version: "0"
|
93
89
|
type: :development
|
94
90
|
version_requirements: *id005
|
95
91
|
- !ruby/object:Gem::Dependency
|
96
|
-
name:
|
92
|
+
name: rails
|
97
93
|
prerelease: false
|
98
94
|
requirement: &id006 !ruby/object:Gem::Requirement
|
99
95
|
none: false
|
100
96
|
requirements:
|
101
|
-
- -
|
97
|
+
- - ~>
|
102
98
|
- !ruby/object:Gem::Version
|
103
99
|
hash: 3
|
104
100
|
segments:
|
101
|
+
- 3
|
102
|
+
- 1
|
105
103
|
- 0
|
106
|
-
version:
|
107
|
-
type: :
|
104
|
+
version: 3.1.0
|
105
|
+
type: :runtime
|
108
106
|
version_requirements: *id006
|
109
107
|
- !ruby/object:Gem::Dependency
|
110
|
-
name:
|
108
|
+
name: rack
|
111
109
|
prerelease: false
|
112
110
|
requirement: &id007 !ruby/object:Gem::Requirement
|
113
111
|
none: false
|
@@ -118,10 +116,10 @@ dependencies:
|
|
118
116
|
segments:
|
119
117
|
- 0
|
120
118
|
version: "0"
|
121
|
-
type: :
|
119
|
+
type: :runtime
|
122
120
|
version_requirements: *id007
|
123
121
|
- !ruby/object:Gem::Dependency
|
124
|
-
name:
|
122
|
+
name: htmlentities
|
125
123
|
prerelease: false
|
126
124
|
requirement: &id008 !ruby/object:Gem::Requirement
|
127
125
|
none: false
|