egregious 0.1.7 → 0.2.0
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/README +2 -0
- data/egregious.gemspec +1 -1
- data/lib/egregious.rb +4 -3
- data/lib/egregious/version.rb +1 -1
- data/spec/egregious_spec.rb +7 -0
- metadata +136 -140
data/README
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
These instructions with some formatting can be found @ http://railsindirection.blogspot.com/2011/09/rails-exception-handling-egregious.html
|
2
|
+
|
1
3
|
Egregious is a rails based exception handling gem for well defined http exception handling for json, xml and html.
|
2
4
|
|
3
5
|
If you have a json or xml api into your rails application, you probably have added your own exception handling to map
|
data/egregious.gemspec
CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |s|
|
|
25
25
|
s.add_development_dependency "warden"
|
26
26
|
s.add_development_dependency "cancan"
|
27
27
|
|
28
|
-
s.add_runtime_dependency "rails", '
|
28
|
+
s.add_runtime_dependency "rails", '> 3.0.1'
|
29
29
|
s.add_runtime_dependency "rack"
|
30
30
|
s.add_runtime_dependency "htmlentities"
|
31
31
|
|
data/lib/egregious.rb
CHANGED
@@ -8,12 +8,13 @@ module Egregious
|
|
8
8
|
# use these exception to control the code you are throwing from you code
|
9
9
|
# all http statuses have an exception defined for them
|
10
10
|
Rack::Utils::HTTP_STATUS_CODES.each do |key, value|
|
11
|
-
class_eval "class #{value.gsub(/\s
|
11
|
+
class_eval "class #{value.gsub(/\s|-|'/,'')} < StandardError; end"
|
12
12
|
end
|
13
13
|
|
14
14
|
def self.status_code(status)
|
15
15
|
if status.is_a?(Symbol)
|
16
|
-
|
16
|
+
key = status.to_s.split("_").map {|e| e.capitalize}.join(" ")
|
17
|
+
Rack::Utils::HTTP_STATUS_CODES.invert[key] || 500
|
17
18
|
else
|
18
19
|
status.to_i
|
19
20
|
end
|
@@ -33,7 +34,7 @@ module Egregious
|
|
33
34
|
}
|
34
35
|
# all status codes have a exception class defined
|
35
36
|
Rack::Utils::HTTP_STATUS_CODES.each do |key, value|
|
36
|
-
exception_codes.merge!(eval("Egregious::#{value.gsub(/\s
|
37
|
+
exception_codes.merge!(eval("Egregious::#{value.gsub(/\s|-|'/,'')}")=>value.downcase.gsub(/\s|-/, '_').to_sym)
|
37
38
|
end
|
38
39
|
|
39
40
|
if defined?(ActionController)
|
data/lib/egregious/version.rb
CHANGED
data/spec/egregious_spec.rb
CHANGED
@@ -6,6 +6,13 @@ end
|
|
6
6
|
include Egregious
|
7
7
|
|
8
8
|
describe Egregious do
|
9
|
+
|
10
|
+
describe 'status_code' do
|
11
|
+
it "should translate Symbol to right HTTP STATUS CODE" do
|
12
|
+
status_code(:bad_request).should == 400
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
9
16
|
describe 'clean_backtrace ' do
|
10
17
|
it "should return nil" do
|
11
18
|
clean_backtrace(Exception.new).should == nil
|
metadata
CHANGED
@@ -1,147 +1,152 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: egregious
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 7
|
10
|
-
version: 0.1.7
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Russell Edens
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-09-21 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: rspec
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
hash: 3
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
version: "0"
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
33
22
|
type: :development
|
34
|
-
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: json
|
37
23
|
prerelease: false
|
38
|
-
|
39
|
-
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: json
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
47
38
|
type: :development
|
48
|
-
version_requirements: *id002
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: hpricot
|
51
39
|
prerelease: false
|
52
|
-
|
53
|
-
none: false
|
54
|
-
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: hpricot
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
61
54
|
type: :development
|
62
|
-
version_requirements: *id003
|
63
|
-
- !ruby/object:Gem::Dependency
|
64
|
-
name: warden
|
65
55
|
prerelease: false
|
66
|
-
|
67
|
-
none: false
|
68
|
-
requirements:
|
69
|
-
- -
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: warden
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
75
70
|
type: :development
|
76
|
-
version_requirements: *id004
|
77
|
-
- !ruby/object:Gem::Dependency
|
78
|
-
name: cancan
|
79
71
|
prerelease: false
|
80
|
-
|
81
|
-
none: false
|
82
|
-
requirements:
|
83
|
-
- -
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: cancan
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
89
86
|
type: :development
|
90
|
-
version_requirements: *id005
|
91
|
-
- !ruby/object:Gem::Dependency
|
92
|
-
name: rails
|
93
87
|
prerelease: false
|
94
|
-
|
95
|
-
none: false
|
96
|
-
requirements:
|
97
|
-
- -
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: rails
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>'
|
100
|
+
- !ruby/object:Gem::Version
|
104
101
|
version: 3.0.1
|
105
102
|
type: :runtime
|
106
|
-
version_requirements: *id006
|
107
|
-
- !ruby/object:Gem::Dependency
|
108
|
-
name: rack
|
109
103
|
prerelease: false
|
110
|
-
|
111
|
-
none: false
|
112
|
-
requirements:
|
113
|
-
- -
|
114
|
-
- !ruby/object:Gem::Version
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>'
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 3.0.1
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: rack
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
119
118
|
type: :runtime
|
120
|
-
version_requirements: *id007
|
121
|
-
- !ruby/object:Gem::Dependency
|
122
|
-
name: htmlentities
|
123
119
|
prerelease: false
|
124
|
-
|
125
|
-
none: false
|
126
|
-
requirements:
|
127
|
-
- -
|
128
|
-
- !ruby/object:Gem::Version
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: htmlentities
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
133
134
|
type: :runtime
|
134
|
-
|
135
|
-
|
136
|
-
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
description: Egregious is a rails based exception handling gem for well defined http
|
143
|
+
exception handling for json, xml and html. Requires Rails 3.x.
|
144
|
+
email:
|
137
145
|
- rx@voomify.com
|
138
146
|
executables: []
|
139
|
-
|
140
147
|
extensions: []
|
141
|
-
|
142
148
|
extra_rdoc_files: []
|
143
|
-
|
144
|
-
files:
|
149
|
+
files:
|
145
150
|
- .gitignore
|
146
151
|
- Gemfile
|
147
152
|
- README
|
@@ -153,41 +158,32 @@ files:
|
|
153
158
|
- spec/egregious_spec.rb
|
154
159
|
- spec/exceptions_spec.rb
|
155
160
|
- spec/spec_helper.rb
|
156
|
-
has_rdoc: true
|
157
161
|
homepage: http://github.com/voomify/egregious
|
158
162
|
licenses: []
|
159
|
-
|
160
163
|
post_install_message:
|
161
164
|
rdoc_options: []
|
162
|
-
|
163
|
-
require_paths:
|
165
|
+
require_paths:
|
164
166
|
- lib
|
165
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
167
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
166
168
|
none: false
|
167
|
-
requirements:
|
168
|
-
- -
|
169
|
-
- !ruby/object:Gem::Version
|
170
|
-
|
171
|
-
|
172
|
-
- 0
|
173
|
-
version: "0"
|
174
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - ! '>='
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '0'
|
173
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
175
174
|
none: false
|
176
|
-
requirements:
|
177
|
-
- -
|
178
|
-
- !ruby/object:Gem::Version
|
179
|
-
|
180
|
-
segments:
|
181
|
-
- 0
|
182
|
-
version: "0"
|
175
|
+
requirements:
|
176
|
+
- - ! '>='
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
version: '0'
|
183
179
|
requirements: []
|
184
|
-
|
185
180
|
rubyforge_project: egregious
|
186
|
-
rubygems_version: 1.
|
181
|
+
rubygems_version: 1.8.24
|
187
182
|
signing_key:
|
188
183
|
specification_version: 3
|
189
|
-
summary: Egregious is a rails based exception handling gem for well defined http exception
|
190
|
-
|
184
|
+
summary: Egregious is a rails based exception handling gem for well defined http exception
|
185
|
+
handling for json, xml and html. Requires Rails 3.x.
|
186
|
+
test_files:
|
191
187
|
- spec/egregious_spec.rb
|
192
188
|
- spec/exceptions_spec.rb
|
193
189
|
- spec/spec_helper.rb
|