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 CHANGED
@@ -5,6 +5,7 @@ notifications:
5
5
  disable: true
6
6
 
7
7
  rvm:
8
+ - 1.9.3
8
9
  - 1.9.2
9
10
  - 1.8.7
10
11
  - ree
data/Gemfile CHANGED
@@ -3,16 +3,15 @@ source "http://rubygems.org"
3
3
 
4
4
  group :test, :development do
5
5
 
6
- # Set TEST_APP in spec_helper depending on which version you are testing
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.0'
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.11)
6
- actionpack (= 3.0.11)
10
+ actionmailer (3.0.12)
11
+ actionpack (= 3.0.12)
7
12
  mail (~> 2.2.19)
8
- actionpack (3.0.11)
9
- activemodel (= 3.0.11)
10
- activesupport (= 3.0.11)
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.1)
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.11)
19
- activesupport (= 3.0.11)
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.11)
23
- activemodel (= 3.0.11)
24
- activesupport (= 3.0.11)
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.11)
28
- activemodel (= 3.0.11)
29
- activesupport (= 3.0.11)
30
- activesupport (3.0.11)
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.11)
58
- actionmailer (= 3.0.11)
59
- actionpack (= 3.0.11)
60
- activerecord (= 3.0.11)
61
- activeresource (= 3.0.11)
62
- activesupport (= 3.0.11)
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.11)
65
- railties (3.0.11)
66
- actionpack (= 3.0.11)
67
- activesupport (= 3.0.11)
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.31)
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.11)
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. If you make yourself a simple web front on top of that you have a user friendly way of keeping track of exceptions raised by your rails apps.
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 travis-ci for info on which rubies it is tested against:
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
- The legit bots usually adds something to the user agent string that lets you identify them. You can use this to filter out the errors they genereate, and be pretty sure you are not going to get any false positives.
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|Huaweisymantecspider|ApptusBot|TurnitinBot|DotBot)\b/i]
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 the bad bots add a common user agent string and a referer to their requests, which makes it hard to filter them without filtering all routing errors. I guess they do this to make it look less suspicious.
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 => /\b(phpMyAdmin|joomla|wordpress)\b/i]
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.3.2
1
+ 1.4.0
@@ -1,9 +1,11 @@
1
- class ErrorResponseController < ApplicationController
2
- def index
3
- render(:text => @_env['exception_handler.response'], :layout => @_env['exception_handler.layout'])
4
- end
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
- def dummy_action
7
- render :nothing => true
7
+ def dummy_action
8
+ render :nothing => true
9
+ end
8
10
  end
9
11
  end
@@ -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) if RailsExceptionHandler.configuration.active_record?
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.environments.include?(Rails.env.to_sym)
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.3.2"
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-01-27"
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/testapp_30/.gitignore",
37
- "spec/testapp_30/lib/tasks/.gitkeep",
38
- "spec/testapp_30/vendor/plugins/.gitkeep",
39
- "spec/testapp_32/.gitignore",
40
- "spec/testapp_32/app/mailers/.gitkeep",
41
- "spec/testapp_32/app/models/.gitkeep",
42
- "spec/testapp_32/lib/assets/.gitkeep",
43
- "spec/testapp_32/lib/tasks/.gitkeep",
44
- "spec/testapp_32/log/.gitkeep",
45
- "spec/testapp_32/vendor/assets/javascripts/.gitkeep",
46
- "spec/testapp_32/vendor/assets/stylesheets/.gitkeep",
47
- "spec/testapp_32/vendor/plugins/.gitkeep"
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.15"
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.11"])
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.11"])
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.11"])
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
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
- date: 2012-01-27 00:00:00 Z
14
- dependencies:
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: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &5782380 !ruby/object:Gem::Requirement
18
17
  none: false
19
- requirements:
20
- - - "="
21
- - !ruby/object:Gem::Version
22
- version: 3.0.11
18
+ requirements:
19
+ - - =
20
+ - !ruby/object:Gem::Version
21
+ version: 3.0.12
23
22
  type: :development
24
23
  prerelease: false
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
24
+ version_requirements: *5782380
25
+ - !ruby/object:Gem::Dependency
27
26
  name: rack-test
28
- requirement: &id002 !ruby/object:Gem::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: *id002
37
- - !ruby/object:Gem::Dependency
35
+ version_requirements: *5797040
36
+ - !ruby/object:Gem::Dependency
38
37
  name: mysql2
39
- requirement: &id003 !ruby/object:Gem::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: *id003
48
- - !ruby/object:Gem::Dependency
46
+ version_requirements: *5795460
47
+ - !ruby/object:Gem::Dependency
49
48
  name: rspec-rails
50
- requirement: &id004 !ruby/object:Gem::Requirement
49
+ requirement: &5792080 !ruby/object:Gem::Requirement
51
50
  none: false
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- version: "0"
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
56
55
  type: :development
57
56
  prerelease: false
58
- version_requirements: *id004
59
- - !ruby/object:Gem::Dependency
57
+ version_requirements: *5792080
58
+ - !ruby/object:Gem::Dependency
60
59
  name: jeweler
61
- requirement: &id005 !ruby/object:Gem::Requirement
60
+ requirement: &5806360 !ruby/object:Gem::Requirement
62
61
  none: false
63
- requirements:
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: "0"
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
67
66
  type: :development
68
67
  prerelease: false
69
- version_requirements: *id005
70
- description: ""
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/testapp_30/.gitignore
97
- - spec/testapp_30/lib/tasks/.gitkeep
98
- - spec/testapp_30/vendor/plugins/.gitkeep
99
- - spec/testapp_32/.gitignore
100
- - spec/testapp_32/app/mailers/.gitkeep
101
- - spec/testapp_32/app/models/.gitkeep
102
- - spec/testapp_32/lib/assets/.gitkeep
103
- - spec/testapp_32/lib/tasks/.gitkeep
104
- - spec/testapp_32/log/.gitkeep
105
- - spec/testapp_32/vendor/assets/javascripts/.gitkeep
106
- - spec/testapp_32/vendor/assets/stylesheets/.gitkeep
107
- - spec/testapp_32/vendor/plugins/.gitkeep
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: "0"
122
- required_rubygems_version: !ruby/object:Gem::Requirement
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: "0"
134
+ requirements:
135
+ - - ! '>='
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
128
138
  requirements: []
129
-
130
139
  rubyforge_project:
131
- rubygems_version: 1.8.15
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
-