egregious 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -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