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.
@@ -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\":\"#{self.message.gsub(/\r/, ' ').gsub(/\n/, ' ').squeeze(' ')}\", \"type\":\"#{self.exception_type}\"}"
16
+ "{\"error\":#{ActiveSupport::JSON.encode(self.message.gsub(/\r/, ' ').gsub(/\n/, ' ').squeeze(' '))}, \"type\":\"#{self.exception_type}\"}"
16
17
  end
18
+
17
19
  end
@@ -1,3 +1,3 @@
1
1
  module Egregious
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
@@ -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: 17
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 5
10
- version: 0.1.5
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-14 00:00:00 -04:00
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: rails
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: 3.1.0
74
+ version: "0"
77
75
  type: :development
78
76
  version_requirements: *id004
79
77
  - !ruby/object:Gem::Dependency
80
- name: rails
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: 3.1.0
88
+ version: "0"
93
89
  type: :development
94
90
  version_requirements: *id005
95
91
  - !ruby/object:Gem::Dependency
96
- name: warden
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: "0"
107
- type: :development
104
+ version: 3.1.0
105
+ type: :runtime
108
106
  version_requirements: *id006
109
107
  - !ruby/object:Gem::Dependency
110
- name: cancan
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: :development
119
+ type: :runtime
122
120
  version_requirements: *id007
123
121
  - !ruby/object:Gem::Dependency
124
- name: rack
122
+ name: htmlentities
125
123
  prerelease: false
126
124
  requirement: &id008 !ruby/object:Gem::Requirement
127
125
  none: false