rails_exception_handler 1.3.2 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +1 -0
- data/Gemfile +3 -4
- data/Gemfile.lock +33 -27
- data/HISTORY +6 -0
- data/README.markdown +17 -11
- data/VERSION +1 -1
- data/app/controllers/error_response_controller.rb +8 -6
- data/app/models/error_message.rb +2 -2
- data/lib/rails_exception_handler.rb +2 -1
- data/lib/rails_exception_handler/configuration.rb +12 -0
- data/rails_exception_handler.gemspec +21 -18
- data/spec/{testapp_30 → dummy_30}/.gitignore +0 -0
- data/spec/{testapp_30 → dummy_30}/lib/tasks/.gitkeep +0 -0
- data/spec/{testapp_30 → dummy_30}/vendor/plugins/.gitkeep +0 -0
- data/spec/{testapp_32 → dummy_32}/.gitignore +0 -0
- data/spec/{testapp_32 → dummy_32}/app/mailers/.gitkeep +0 -0
- data/spec/{testapp_32 → dummy_32}/app/models/.gitkeep +0 -0
- data/spec/{testapp_32 → dummy_32}/lib/assets/.gitkeep +0 -0
- data/spec/{testapp_32 → dummy_32}/lib/tasks/.gitkeep +0 -0
- data/spec/{testapp_32 → dummy_32}/log/.gitkeep +0 -0
- data/spec/{testapp_32 → dummy_32}/vendor/assets/javascripts/.gitkeep +0 -0
- data/spec/{testapp_32 → dummy_32}/vendor/assets/stylesheets/.gitkeep +0 -0
- data/spec/{testapp_32 → dummy_32}/vendor/plugins/.gitkeep +0 -0
- metadata +81 -73
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
@@ -3,16 +3,15 @@ source "http://rubygems.org"
|
|
3
3
|
|
4
4
|
group :test, :development do
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
gem "rails", '3.0.11'
|
6
|
+
gem "rails", '3.0.12'
|
9
7
|
gem "rack-test", '0.5.7'
|
10
8
|
gem "mysql2", '0.2.6'
|
11
9
|
|
12
|
-
#gem "rails", '3.2.
|
10
|
+
#gem "rails", '3.2.2'
|
13
11
|
#gem "rack-test", '0.6.1'
|
14
12
|
#gem 'mysql2', '0.3.11'
|
15
13
|
|
16
14
|
gem "rspec-rails"
|
17
15
|
gem "jeweler"
|
16
|
+
gem "rails_exception_handler", :path => '.'
|
18
17
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,33 +1,38 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
rails_exception_handler (1.4.0)
|
5
|
+
|
1
6
|
GEM
|
2
7
|
remote: http://rubygems.org/
|
3
8
|
specs:
|
4
9
|
abstract (1.0.0)
|
5
|
-
actionmailer (3.0.
|
6
|
-
actionpack (= 3.0.
|
10
|
+
actionmailer (3.0.12)
|
11
|
+
actionpack (= 3.0.12)
|
7
12
|
mail (~> 2.2.19)
|
8
|
-
actionpack (3.0.
|
9
|
-
activemodel (= 3.0.
|
10
|
-
activesupport (= 3.0.
|
13
|
+
actionpack (3.0.12)
|
14
|
+
activemodel (= 3.0.12)
|
15
|
+
activesupport (= 3.0.12)
|
11
16
|
builder (~> 2.1.2)
|
12
17
|
erubis (~> 2.6.6)
|
13
18
|
i18n (~> 0.5.0)
|
14
|
-
rack (~> 1.2.
|
19
|
+
rack (~> 1.2.5)
|
15
20
|
rack-mount (~> 0.6.14)
|
16
21
|
rack-test (~> 0.5.7)
|
17
22
|
tzinfo (~> 0.3.23)
|
18
|
-
activemodel (3.0.
|
19
|
-
activesupport (= 3.0.
|
23
|
+
activemodel (3.0.12)
|
24
|
+
activesupport (= 3.0.12)
|
20
25
|
builder (~> 2.1.2)
|
21
26
|
i18n (~> 0.5.0)
|
22
|
-
activerecord (3.0.
|
23
|
-
activemodel (= 3.0.
|
24
|
-
activesupport (= 3.0.
|
27
|
+
activerecord (3.0.12)
|
28
|
+
activemodel (= 3.0.12)
|
29
|
+
activesupport (= 3.0.12)
|
25
30
|
arel (~> 2.0.10)
|
26
31
|
tzinfo (~> 0.3.23)
|
27
|
-
activeresource (3.0.
|
28
|
-
activemodel (= 3.0.
|
29
|
-
activesupport (= 3.0.
|
30
|
-
activesupport (3.0.
|
32
|
+
activeresource (3.0.12)
|
33
|
+
activemodel (= 3.0.12)
|
34
|
+
activesupport (= 3.0.12)
|
35
|
+
activesupport (3.0.12)
|
31
36
|
arel (2.0.10)
|
32
37
|
builder (2.1.2)
|
33
38
|
diff-lcs (1.1.3)
|
@@ -54,17 +59,17 @@ GEM
|
|
54
59
|
rack (>= 1.0.0)
|
55
60
|
rack-test (0.5.7)
|
56
61
|
rack (>= 1.0)
|
57
|
-
rails (3.0.
|
58
|
-
actionmailer (= 3.0.
|
59
|
-
actionpack (= 3.0.
|
60
|
-
activerecord (= 3.0.
|
61
|
-
activeresource (= 3.0.
|
62
|
-
activesupport (= 3.0.
|
62
|
+
rails (3.0.12)
|
63
|
+
actionmailer (= 3.0.12)
|
64
|
+
actionpack (= 3.0.12)
|
65
|
+
activerecord (= 3.0.12)
|
66
|
+
activeresource (= 3.0.12)
|
67
|
+
activesupport (= 3.0.12)
|
63
68
|
bundler (~> 1.0)
|
64
|
-
railties (= 3.0.
|
65
|
-
railties (3.0.
|
66
|
-
actionpack (= 3.0.
|
67
|
-
activesupport (= 3.0.
|
69
|
+
railties (= 3.0.12)
|
70
|
+
railties (3.0.12)
|
71
|
+
actionpack (= 3.0.12)
|
72
|
+
activesupport (= 3.0.12)
|
68
73
|
rake (>= 0.8.7)
|
69
74
|
rdoc (~> 3.4)
|
70
75
|
thor (~> 0.14.4)
|
@@ -88,7 +93,7 @@ GEM
|
|
88
93
|
treetop (1.4.10)
|
89
94
|
polyglot
|
90
95
|
polyglot (>= 0.3.1)
|
91
|
-
tzinfo (0.3.
|
96
|
+
tzinfo (0.3.32)
|
92
97
|
|
93
98
|
PLATFORMS
|
94
99
|
ruby
|
@@ -97,5 +102,6 @@ DEPENDENCIES
|
|
97
102
|
jeweler
|
98
103
|
mysql2 (= 0.2.6)
|
99
104
|
rack-test (= 0.5.7)
|
100
|
-
rails (= 3.0.
|
105
|
+
rails (= 3.0.12)
|
106
|
+
rails_exception_handler!
|
101
107
|
rspec-rails
|
data/HISTORY
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
CHANGELOG
|
2
2
|
|
3
|
+
v1.4.0 - March 10th 2012
|
4
|
+
- Rails 3.2.2 fixes
|
5
|
+
- Added after_initialize callback
|
6
|
+
|
7
|
+
v1.3.2 - January 27th 2012
|
8
|
+
- Rails 3.2 support
|
3
9
|
|
4
10
|
v1.3.0 - January 13th 2012
|
5
11
|
- Added filtering option for getting rid of 404s created by anonymous users
|
data/README.markdown
CHANGED
@@ -1,11 +1,14 @@
|
|
1
1
|
# Rails Exception Handler [![Build Status](http://travis-ci.org/Sharagoz/rails_execption_handler.png)](http://travis-ci.org/#!/Sharagoz/rails_exception_handler)
|
2
2
|
|
3
|
-
This is an exception handler for Rails 3 built as Rack middleware. It enables you to save the key information from the error message in a database somewhere and display a customized error message to the user within the applications layout file. You can hook this gem into all your rails apps and gather the exception reports in one place.
|
3
|
+
This is an exception handler for Rails 3 built as Rack middleware. It enables you to save the key information from the error message in a database somewhere and display a customized error message to the user within the applications layout file. You can hook this gem into all your rails apps and gather the exception reports in one place. This gem just contains the back end. You will have to create your own front end to view and manage the error reports.
|
4
|
+
|
5
|
+
Does your app have an authorization mechanism? [See wiki](https://github.com/Sharagoz/rails_exception_handler/wiki/Interaction-with-authorization-mechanisms)
|
6
|
+
Do you need to catch ruby errors outside of Rack? [See wiki](https://github.com/Sharagoz/rails_exception_handler/wiki/Manual-exception-handling-outside-of-rack)
|
4
7
|
|
5
8
|
## Compatiblity
|
6
9
|
|
7
10
|
The gem should work with all versions of Rails 3. It does not work with Rails 2.
|
8
|
-
See
|
11
|
+
See Travis-CI for info on which rubies it is tested against:
|
9
12
|
http://travis-ci.org/#!/Sharagoz/rails_exception_handler
|
10
13
|
|
11
14
|
## Installation
|
@@ -39,6 +42,9 @@ RailsExceptionHandler.configure do |config|
|
|
39
42
|
# 'ActionController::RoutingError' => :custom,
|
40
43
|
# 'AbstractController::ActionNotFound' => :custom
|
41
44
|
# }
|
45
|
+
# config.after_initialize do
|
46
|
+
# # this block will be called after the initialization is done
|
47
|
+
# end
|
42
48
|
end
|
43
49
|
```
|
44
50
|
|
@@ -107,11 +113,14 @@ config.response_mapping = {
|
|
107
113
|
}
|
108
114
|
```
|
109
115
|
|
116
|
+
### after_initialize
|
117
|
+
|
118
|
+
This callback exists in case you need to do something right after the initializer has been run, for instance [interact with an authorization mechanism](https://github.com/Sharagoz/rails_exception_handler/wiki/Interaction-with-authorization-mechanisms)
|
119
|
+
|
110
120
|
### filters
|
111
121
|
|
112
122
|
All filters are disabled by default. I recommend you deploy your application this way, and then add filters as they become necessary.
|
113
|
-
The only reason I've ever wanted filtering have been due to what seem like poorly programmed web crawlers and black bots probing for security holes.
|
114
|
-
Every once in a while I'll get dozens of errors within a few minutes caused by a bot looking for things like Joomla/Wordpress libraries with known security holes, or a web crawler that follows the target of forms.
|
123
|
+
The only reason I've ever wanted filtering have been due to what seem like poorly programmed web crawlers and black bots probing for security holes. If legitimate web crawlers are a problem for you, look into tweaking your robots.txt file before enabling exception filters.
|
115
124
|
|
116
125
|
**:all_404s**
|
117
126
|
|
@@ -141,22 +150,20 @@ This is very effective against bots. 99.9% of the time a routing error with no r
|
|
141
150
|
|
142
151
|
**:user_agent_regxp**
|
143
152
|
|
144
|
-
|
145
|
-
The regular expression I use looks something like this:
|
153
|
+
Legit software will usually add something to the user agent string to let you know who they are. You can use this to filter out the errors they generate, and be pretty sure you are not going to get any false positives.
|
146
154
|
|
147
155
|
```ruby
|
148
|
-
config.filters = [:user_agent_regxp => /\b(ZyBorg|Yandex|Jyxobot
|
156
|
+
config.filters = [:user_agent_regxp => /\b(ZyBorg|Yandex|Jyxobot)\b/i]
|
149
157
|
```
|
150
158
|
|
151
159
|
If you (like me) dont know regular expressions by heart, then http://www.rubular.com/ is great tool to use when creating a regxp.
|
152
160
|
|
153
161
|
**:target_url_regxp**
|
154
162
|
|
155
|
-
Sometimes
|
156
|
-
What you can often do is to filter on what they target, which is usually security holes in some well known library like phpMyAdmin.
|
163
|
+
Sometimes black bots add a common user agent string and a referer to their requests to cloak themselfs, which makes it hard to filter them without filtering all routing errors. What you can often do is to filter on what they target, which is usually security holes in some well known library/plugin (usually in php). The example below will filter out all URLs containing ".php". This is the filter I most commonly use myself. Without it, it is only a matter of time before I'll one day get 200 exceptions in 10mins caused by a bot looking for security holes in myPhpAdmin or some other PHP plugin.
|
157
164
|
|
158
165
|
```ruby
|
159
|
-
config.filters = [:target_url_regxp =>
|
166
|
+
config.filters = [:target_url_regxp => /\.php/i]
|
160
167
|
```
|
161
168
|
|
162
169
|
## Storage strategy - active record
|
@@ -243,7 +250,6 @@ Would you like to contribute? Here are some things on the todo list:
|
|
243
250
|
|
244
251
|
* A mongoid storage strategy for those that wish to use MongoDB
|
245
252
|
* An email storage strategy for those that wish to be notified of the exceptions through email
|
246
|
-
* A front end module
|
247
253
|
|
248
254
|
## Licence
|
249
255
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.4.0
|
@@ -1,9 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
if(RailsExceptionHandler.configuration.activate?)
|
2
|
+
class ErrorResponseController < ApplicationController
|
3
|
+
def index
|
4
|
+
render(:text => @_env['exception_handler.response'], :layout => @_env['exception_handler.layout'])
|
5
|
+
end
|
5
6
|
|
6
|
-
|
7
|
-
|
7
|
+
def dummy_action
|
8
|
+
render :nothing => true
|
9
|
+
end
|
8
10
|
end
|
9
11
|
end
|
data/app/models/error_message.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
if(defined?(ActiveRecord))
|
1
|
+
if(defined?(ActiveRecord) && RailsExceptionHandler.configuration.activate? && RailsExceptionHandler.configuration.active_record?)
|
2
2
|
class ErrorMessage < ActiveRecord::Base
|
3
|
-
establish_connection(:exception_database)
|
3
|
+
establish_connection(:exception_database)
|
4
4
|
end
|
5
5
|
end
|
@@ -16,13 +16,14 @@ class RailsExceptionHandler
|
|
16
16
|
|
17
17
|
def self.configure
|
18
18
|
yield configuration
|
19
|
-
return unless configuration.
|
19
|
+
return unless configuration.activate?
|
20
20
|
|
21
21
|
Rails.configuration.middleware.use(RailsExceptionHandler)
|
22
22
|
|
23
23
|
Rails.configuration.action_dispatch.show_exceptions = true
|
24
24
|
Rails.configuration.consider_all_requests_local = false
|
25
25
|
require File.expand_path(File.dirname(__FILE__)) + '/patch/show_exceptions.rb'
|
26
|
+
configuration.run_callback
|
26
27
|
end
|
27
28
|
end
|
28
29
|
|
@@ -15,4 +15,16 @@ class RailsExceptionHandler::Configuration
|
|
15
15
|
@storage_strategies.include?(:active_record)
|
16
16
|
end
|
17
17
|
|
18
|
+
def activate?
|
19
|
+
environments.include?(Rails.env.to_sym)
|
20
|
+
end
|
21
|
+
|
22
|
+
def after_initialize(&block)
|
23
|
+
@callback = block
|
24
|
+
end
|
25
|
+
|
26
|
+
def run_callback
|
27
|
+
@callback.call if(@callback)
|
28
|
+
end
|
29
|
+
|
18
30
|
end
|
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "rails_exception_handler"
|
8
|
-
s.version = "1.
|
8
|
+
s.version = "1.4.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Sharagoz"]
|
12
|
-
s.date = "2012-
|
12
|
+
s.date = "2012-03-10"
|
13
13
|
s.description = ""
|
14
14
|
s.email = "contact@sharagoz.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -33,47 +33,50 @@ Gem::Specification.new do |s|
|
|
33
33
|
"lib/rails_exception_handler/handler.rb",
|
34
34
|
"lib/rails_exception_handler/parser.rb",
|
35
35
|
"rails_exception_handler.gemspec",
|
36
|
-
"spec/
|
37
|
-
"spec/
|
38
|
-
"spec/
|
39
|
-
"spec/
|
40
|
-
"spec/
|
41
|
-
"spec/
|
42
|
-
"spec/
|
43
|
-
"spec/
|
44
|
-
"spec/
|
45
|
-
"spec/
|
46
|
-
"spec/
|
47
|
-
"spec/
|
36
|
+
"spec/dummy_30/.gitignore",
|
37
|
+
"spec/dummy_30/lib/tasks/.gitkeep",
|
38
|
+
"spec/dummy_30/vendor/plugins/.gitkeep",
|
39
|
+
"spec/dummy_32/.gitignore",
|
40
|
+
"spec/dummy_32/app/mailers/.gitkeep",
|
41
|
+
"spec/dummy_32/app/models/.gitkeep",
|
42
|
+
"spec/dummy_32/lib/assets/.gitkeep",
|
43
|
+
"spec/dummy_32/lib/tasks/.gitkeep",
|
44
|
+
"spec/dummy_32/log/.gitkeep",
|
45
|
+
"spec/dummy_32/vendor/assets/javascripts/.gitkeep",
|
46
|
+
"spec/dummy_32/vendor/assets/stylesheets/.gitkeep",
|
47
|
+
"spec/dummy_32/vendor/plugins/.gitkeep"
|
48
48
|
]
|
49
49
|
s.homepage = "http://github.com/Sharagoz/rails_exception_handler"
|
50
50
|
s.licenses = ["MIT"]
|
51
51
|
s.require_paths = ["lib"]
|
52
|
-
s.rubygems_version = "1.8.
|
52
|
+
s.rubygems_version = "1.8.17"
|
53
53
|
s.summary = "Exception Handling for Rails 3"
|
54
54
|
|
55
55
|
if s.respond_to? :specification_version then
|
56
56
|
s.specification_version = 3
|
57
57
|
|
58
58
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
59
|
-
s.add_development_dependency(%q<rails>, ["= 3.0.
|
59
|
+
s.add_development_dependency(%q<rails>, ["= 3.0.12"])
|
60
60
|
s.add_development_dependency(%q<rack-test>, ["= 0.5.7"])
|
61
61
|
s.add_development_dependency(%q<mysql2>, ["= 0.2.6"])
|
62
62
|
s.add_development_dependency(%q<rspec-rails>, [">= 0"])
|
63
63
|
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
64
|
+
s.add_development_dependency(%q<rails_exception_handler>, [">= 0"])
|
64
65
|
else
|
65
|
-
s.add_dependency(%q<rails>, ["= 3.0.
|
66
|
+
s.add_dependency(%q<rails>, ["= 3.0.12"])
|
66
67
|
s.add_dependency(%q<rack-test>, ["= 0.5.7"])
|
67
68
|
s.add_dependency(%q<mysql2>, ["= 0.2.6"])
|
68
69
|
s.add_dependency(%q<rspec-rails>, [">= 0"])
|
69
70
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
71
|
+
s.add_dependency(%q<rails_exception_handler>, [">= 0"])
|
70
72
|
end
|
71
73
|
else
|
72
|
-
s.add_dependency(%q<rails>, ["= 3.0.
|
74
|
+
s.add_dependency(%q<rails>, ["= 3.0.12"])
|
73
75
|
s.add_dependency(%q<rack-test>, ["= 0.5.7"])
|
74
76
|
s.add_dependency(%q<mysql2>, ["= 0.2.6"])
|
75
77
|
s.add_dependency(%q<rspec-rails>, [">= 0"])
|
76
78
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
79
|
+
s.add_dependency(%q<rails_exception_handler>, [">= 0"])
|
77
80
|
end
|
78
81
|
end
|
79
82
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
metadata
CHANGED
@@ -1,81 +1,89 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_exception_handler
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.4.0
|
4
5
|
prerelease:
|
5
|
-
version: 1.3.2
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Sharagoz
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-03-10 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
16
15
|
name: rails
|
17
|
-
requirement: &
|
16
|
+
requirement: &5782380 !ruby/object:Gem::Requirement
|
18
17
|
none: false
|
19
|
-
requirements:
|
20
|
-
- -
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 3.0.
|
18
|
+
requirements:
|
19
|
+
- - =
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 3.0.12
|
23
22
|
type: :development
|
24
23
|
prerelease: false
|
25
|
-
version_requirements: *
|
26
|
-
- !ruby/object:Gem::Dependency
|
24
|
+
version_requirements: *5782380
|
25
|
+
- !ruby/object:Gem::Dependency
|
27
26
|
name: rack-test
|
28
|
-
requirement: &
|
27
|
+
requirement: &5797040 !ruby/object:Gem::Requirement
|
29
28
|
none: false
|
30
|
-
requirements:
|
31
|
-
- -
|
32
|
-
- !ruby/object:Gem::Version
|
29
|
+
requirements:
|
30
|
+
- - =
|
31
|
+
- !ruby/object:Gem::Version
|
33
32
|
version: 0.5.7
|
34
33
|
type: :development
|
35
34
|
prerelease: false
|
36
|
-
version_requirements: *
|
37
|
-
- !ruby/object:Gem::Dependency
|
35
|
+
version_requirements: *5797040
|
36
|
+
- !ruby/object:Gem::Dependency
|
38
37
|
name: mysql2
|
39
|
-
requirement: &
|
38
|
+
requirement: &5795460 !ruby/object:Gem::Requirement
|
40
39
|
none: false
|
41
|
-
requirements:
|
42
|
-
- -
|
43
|
-
- !ruby/object:Gem::Version
|
40
|
+
requirements:
|
41
|
+
- - =
|
42
|
+
- !ruby/object:Gem::Version
|
44
43
|
version: 0.2.6
|
45
44
|
type: :development
|
46
45
|
prerelease: false
|
47
|
-
version_requirements: *
|
48
|
-
- !ruby/object:Gem::Dependency
|
46
|
+
version_requirements: *5795460
|
47
|
+
- !ruby/object:Gem::Dependency
|
49
48
|
name: rspec-rails
|
50
|
-
requirement: &
|
49
|
+
requirement: &5792080 !ruby/object:Gem::Requirement
|
51
50
|
none: false
|
52
|
-
requirements:
|
53
|
-
- -
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version:
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
56
55
|
type: :development
|
57
56
|
prerelease: false
|
58
|
-
version_requirements: *
|
59
|
-
- !ruby/object:Gem::Dependency
|
57
|
+
version_requirements: *5792080
|
58
|
+
- !ruby/object:Gem::Dependency
|
60
59
|
name: jeweler
|
61
|
-
requirement: &
|
60
|
+
requirement: &5806360 !ruby/object:Gem::Requirement
|
62
61
|
none: false
|
63
|
-
requirements:
|
64
|
-
- -
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version:
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
67
66
|
type: :development
|
68
67
|
prerelease: false
|
69
|
-
version_requirements: *
|
70
|
-
|
68
|
+
version_requirements: *5806360
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rails_exception_handler
|
71
|
+
requirement: &5805160 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *5805160
|
80
|
+
description: ''
|
71
81
|
email: contact@sharagoz.com
|
72
82
|
executables: []
|
73
|
-
|
74
83
|
extensions: []
|
75
|
-
|
76
|
-
extra_rdoc_files:
|
84
|
+
extra_rdoc_files:
|
77
85
|
- README.markdown
|
78
|
-
files:
|
86
|
+
files:
|
79
87
|
- .travis.yml
|
80
88
|
- Gemfile
|
81
89
|
- Gemfile.lock
|
@@ -93,44 +101,44 @@ files:
|
|
93
101
|
- lib/rails_exception_handler/handler.rb
|
94
102
|
- lib/rails_exception_handler/parser.rb
|
95
103
|
- rails_exception_handler.gemspec
|
96
|
-
- spec/
|
97
|
-
- spec/
|
98
|
-
- spec/
|
99
|
-
- spec/
|
100
|
-
- spec/
|
101
|
-
- spec/
|
102
|
-
- spec/
|
103
|
-
- spec/
|
104
|
-
- spec/
|
105
|
-
- spec/
|
106
|
-
- spec/
|
107
|
-
- spec/
|
104
|
+
- spec/dummy_30/.gitignore
|
105
|
+
- spec/dummy_30/lib/tasks/.gitkeep
|
106
|
+
- spec/dummy_30/vendor/plugins/.gitkeep
|
107
|
+
- spec/dummy_32/.gitignore
|
108
|
+
- spec/dummy_32/app/mailers/.gitkeep
|
109
|
+
- spec/dummy_32/app/models/.gitkeep
|
110
|
+
- spec/dummy_32/lib/assets/.gitkeep
|
111
|
+
- spec/dummy_32/lib/tasks/.gitkeep
|
112
|
+
- spec/dummy_32/log/.gitkeep
|
113
|
+
- spec/dummy_32/vendor/assets/javascripts/.gitkeep
|
114
|
+
- spec/dummy_32/vendor/assets/stylesheets/.gitkeep
|
115
|
+
- spec/dummy_32/vendor/plugins/.gitkeep
|
108
116
|
homepage: http://github.com/Sharagoz/rails_exception_handler
|
109
|
-
licenses:
|
117
|
+
licenses:
|
110
118
|
- MIT
|
111
119
|
post_install_message:
|
112
120
|
rdoc_options: []
|
113
|
-
|
114
|
-
require_paths:
|
121
|
+
require_paths:
|
115
122
|
- lib
|
116
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
123
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
117
124
|
none: false
|
118
|
-
requirements:
|
119
|
-
- -
|
120
|
-
- !ruby/object:Gem::Version
|
121
|
-
version:
|
122
|
-
|
125
|
+
requirements:
|
126
|
+
- - ! '>='
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: '0'
|
129
|
+
segments:
|
130
|
+
- 0
|
131
|
+
hash: 77448128479568593
|
132
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
133
|
none: false
|
124
|
-
requirements:
|
125
|
-
- -
|
126
|
-
- !ruby/object:Gem::Version
|
127
|
-
version:
|
134
|
+
requirements:
|
135
|
+
- - ! '>='
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0'
|
128
138
|
requirements: []
|
129
|
-
|
130
139
|
rubyforge_project:
|
131
|
-
rubygems_version: 1.8.
|
140
|
+
rubygems_version: 1.8.17
|
132
141
|
signing_key:
|
133
142
|
specification_version: 3
|
134
143
|
summary: Exception Handling for Rails 3
|
135
144
|
test_files: []
|
136
|
-
|