public_rescue 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/Gemfile ADDED
@@ -0,0 +1,15 @@
1
+ source "http://rubygems.org"
2
+ # Add dependencies required to use your gem here.
3
+ # Example:
4
+ # gem "activesupport", ">= 2.3.5"
5
+
6
+ gem "rails", "~> 3.0.0"
7
+
8
+ # Add dependencies to develop your gem here.
9
+ # Include everything needed to run rake, tests, features, etc.
10
+ group :development do
11
+ gem "shoulda", ">= 0"
12
+ gem "bundler", "~> 1.0.0"
13
+ gem "jeweler", "~> 1.5.2"
14
+ gem "rcov", ">= 0"
15
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,82 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ abstract (1.0.0)
5
+ actionmailer (3.0.7)
6
+ actionpack (= 3.0.7)
7
+ mail (~> 2.2.15)
8
+ actionpack (3.0.7)
9
+ activemodel (= 3.0.7)
10
+ activesupport (= 3.0.7)
11
+ builder (~> 2.1.2)
12
+ erubis (~> 2.6.6)
13
+ i18n (~> 0.5.0)
14
+ rack (~> 1.2.1)
15
+ rack-mount (~> 0.6.14)
16
+ rack-test (~> 0.5.7)
17
+ tzinfo (~> 0.3.23)
18
+ activemodel (3.0.7)
19
+ activesupport (= 3.0.7)
20
+ builder (~> 2.1.2)
21
+ i18n (~> 0.5.0)
22
+ activerecord (3.0.7)
23
+ activemodel (= 3.0.7)
24
+ activesupport (= 3.0.7)
25
+ arel (~> 2.0.2)
26
+ tzinfo (~> 0.3.23)
27
+ activeresource (3.0.7)
28
+ activemodel (= 3.0.7)
29
+ activesupport (= 3.0.7)
30
+ activesupport (3.0.7)
31
+ arel (2.0.9)
32
+ builder (2.1.2)
33
+ erubis (2.6.6)
34
+ abstract (>= 1.0.0)
35
+ git (1.2.5)
36
+ i18n (0.5.0)
37
+ jeweler (1.5.2)
38
+ bundler (~> 1.0.0)
39
+ git (>= 1.2.5)
40
+ rake
41
+ mail (2.2.19)
42
+ activesupport (>= 2.3.6)
43
+ i18n (>= 0.4.0)
44
+ mime-types (~> 1.16)
45
+ treetop (~> 1.4.8)
46
+ mime-types (1.16)
47
+ polyglot (0.3.1)
48
+ rack (1.2.2)
49
+ rack-mount (0.6.14)
50
+ rack (>= 1.0.0)
51
+ rack-test (0.5.7)
52
+ rack (>= 1.0)
53
+ rails (3.0.7)
54
+ actionmailer (= 3.0.7)
55
+ actionpack (= 3.0.7)
56
+ activerecord (= 3.0.7)
57
+ activeresource (= 3.0.7)
58
+ activesupport (= 3.0.7)
59
+ bundler (~> 1.0)
60
+ railties (= 3.0.7)
61
+ railties (3.0.7)
62
+ actionpack (= 3.0.7)
63
+ activesupport (= 3.0.7)
64
+ rake (>= 0.8.7)
65
+ thor (~> 0.14.4)
66
+ rake (0.8.7)
67
+ rcov (0.9.9)
68
+ shoulda (2.11.3)
69
+ thor (0.14.6)
70
+ treetop (1.4.9)
71
+ polyglot (>= 0.3.1)
72
+ tzinfo (0.3.27)
73
+
74
+ PLATFORMS
75
+ ruby
76
+
77
+ DEPENDENCIES
78
+ bundler (~> 1.0.0)
79
+ jeweler (~> 1.5.2)
80
+ rails (~> 3.0.0)
81
+ rcov
82
+ shoulda
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2011 Cyril Picard
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,59 @@
1
+ = PublicRescue
2
+
3
+ PublicRescue is a gem for rails application who want to display dynamic error pages.
4
+ It creates a new Rack middleware which replaces <tt>ActionDispatch::ShowExceptions</tt> and overwrites the rescue_action_in_public method.
5
+
6
+ == Requirements
7
+
8
+ * Rails ~> 3.0.0
9
+
10
+ == Installation
11
+
12
+ This library is intended to be installed as a gem
13
+
14
+ $ gem install public_rescue
15
+
16
+ After you installed PublicRescue, you need to add it to your Gemfile and you're done ! It will use the default views included with PublicRescue.
17
+
18
+ == Customization
19
+
20
+ PublicRescue comes with 2 generators.
21
+
22
+ $ rails g public_rescue:views
23
+
24
+ This will install all views into app/view/public_rescue/public_errors. You can now customize your views.
25
+
26
+ If you need to have access to the controller, you can run :
27
+
28
+ $ rails g public_rescue NAME
29
+
30
+ This will generate a controller that inherits from PublicRescue::PublicErrorsController and install the views into app/views/NAME. In the controller you have access to the <tt>env['public_rescue.exception_details']</tt> variable which contains additional information about the exception :
31
+
32
+ env['public_rescue.exception_details'] = {
33
+ :request,
34
+ :exception,
35
+ :status,
36
+ :application_trace,
37
+ :framework_trace,
38
+ :full_trace
39
+ }
40
+
41
+ == TODO
42
+
43
+ I should probably write some true tests...
44
+
45
+ == Contributing to public_rescue
46
+
47
+ * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
48
+ * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
49
+ * Fork the project
50
+ * Start a feature/bugfix branch
51
+ * Commit and push until you are happy with your contribution
52
+ * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
53
+ * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
54
+
55
+ == Copyright
56
+
57
+ Copyright (c) 2011 Cyril Picard. See LICENSE.txt for
58
+ further details.
59
+
data/Rakefile ADDED
@@ -0,0 +1,54 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'rake'
11
+
12
+ require 'jeweler'
13
+ Jeweler::Tasks.new do |gem|
14
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
15
+ gem.name = "public_rescue"
16
+ gem.homepage = "http://github.com/cyrilpic/public_rescue"
17
+ gem.license = "MIT"
18
+ gem.summary = %Q{Rails3 gem for displaying dynamic error pages.}
19
+ gem.description = %Q{PublicRescue is a gem for rails application who want to display dynamic error pages. It creates a new Rack middleware which replaces ActionDispatch::ShowExceptions and overwrites the rescue_action_in_public method.}
20
+ gem.email = "Cyril@picard.ch"
21
+ gem.authors = ["Cyril Picard"]
22
+ # Include your dependencies below. Runtime dependencies are required when using your gem,
23
+ # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
24
+ # gem.add_runtime_dependency 'jabber4r', '> 0.1'
25
+ # gem.add_development_dependency 'rspec', '> 1.2.3'
26
+
27
+ end
28
+ Jeweler::RubygemsDotOrgTasks.new
29
+
30
+ require 'rake/testtask'
31
+ Rake::TestTask.new(:test) do |test|
32
+ test.libs << 'lib' << 'test'
33
+ test.pattern = 'test/**/test_*.rb'
34
+ test.verbose = true
35
+ end
36
+
37
+ require 'rcov/rcovtask'
38
+ Rcov::RcovTask.new do |test|
39
+ test.libs << 'test'
40
+ test.pattern = 'test/**/test_*.rb'
41
+ test.verbose = true
42
+ end
43
+
44
+ task :default => :test
45
+
46
+ require 'rake/rdoctask'
47
+ Rake::RDocTask.new do |rdoc|
48
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
49
+
50
+ rdoc.rdoc_dir = 'rdoc'
51
+ rdoc.title = "errorlogic #{version}"
52
+ rdoc.rdoc_files.include('README*')
53
+ rdoc.rdoc_files.include('lib/**/*.rb')
54
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.2.3
@@ -0,0 +1,38 @@
1
+ class PublicRescue::PublicErrorsController < ApplicationController
2
+ # This is just a very basic controller
3
+ # For custom methods just create our own PublicErrorsController which subclasses this one
4
+
5
+ # env['errorlogic.exception_details'] variable contains additional information on the exception
6
+ # {
7
+ # :request,
8
+ # :exception,
9
+ # :status,
10
+ # :application_trace,
11
+ # :framework_trace,
12
+ # :full_trace
13
+ # }
14
+
15
+ # 404
16
+ def not_found
17
+ end
18
+
19
+ # 500
20
+ def internal_server_error
21
+ end
22
+
23
+ def conflict
24
+ render :action => :internal_server_error
25
+ end
26
+
27
+ def not_implemented
28
+ render :action => :internal_server_error
29
+ end
30
+
31
+ def method_not_allowed
32
+ render :action => :internal_server_error
33
+ end
34
+
35
+ # 422
36
+ def unprocessable_entity
37
+ end
38
+ end
@@ -0,0 +1,4 @@
1
+ <div class="dialog">
2
+ <h1>We're sorry, but something went wrong.</h1>
3
+ <p>We've been notified about this issue and we'll take a look at it shortly.</p>
4
+ </div>
@@ -0,0 +1,4 @@
1
+ <div class="dialog">
2
+ <h1>The page you were looking for doesn't exist.</h1>
3
+ <p>You may have mistyped the address or the page may have moved.</p>
4
+ </div>
@@ -0,0 +1,4 @@
1
+ <div class="dialog">
2
+ <h1>The change you wanted was rejected.</h1>
3
+ <p>Maybe you tried to change something you didn't have access to.</p>
4
+ </div>
@@ -0,0 +1,17 @@
1
+ module PublicRescue
2
+ module Generators
3
+ class PublicRescueGenerator < Rails::Generators::Base
4
+ namespace 'public_rescue'
5
+ source_root File.expand_path("../../../../", __FILE__)
6
+
7
+ desc "Creates a controller that inherits from PublicRescue::PublicErrorsController."
8
+
9
+ def create_controller_files
10
+ template 'lib/generators/template/controller.rb', File.join('app/controllers', class_path, "#{file_name}_controller.rb")
11
+ directory "app/views/public_rescue/public_errors", File.join('app/views', class_path, "#{file_name}")
12
+ end
13
+
14
+ hook_for :test_framework, :as => :controller
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,14 @@
1
+ module PublicRescue
2
+ module Generators
3
+ class ViewsGenerator < Rails::Generators::Base
4
+ source_root File.expand_path("../../../../app/views", __FILE__)
5
+ desc "Copies all PublicRescue views to your application."
6
+
7
+ argument :scope, :required => false, :default => nil,
8
+ :desc => "The scope to copy views to"
9
+ def copy_views
10
+ directory "public_rescue", "app/views/#{scope || :public_rescue}"
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,25 @@
1
+ class <%= class_name %>Controller < PublicRescue::PublicErrorsController
2
+ # 404
3
+ def not_found
4
+ end
5
+
6
+ # 500
7
+ def internal_server_error
8
+ end
9
+
10
+ def conflict
11
+ render :action => :internal_server_error
12
+ end
13
+
14
+ def not_implemented
15
+ render :action => :internal_server_error
16
+ end
17
+
18
+ def method_not_allowed
19
+ render :action => :internal_server_error
20
+ end
21
+
22
+ # 422
23
+ def unprocessable_entity
24
+ end
25
+ end
@@ -0,0 +1,15 @@
1
+ require 'public_rescue'
2
+
3
+ module PublicRescue
4
+ class Engine < Rails::Engine
5
+
6
+ config.public_rescue = ActiveSupport::OrderedOptions.new
7
+ config.public_rescue.controller = :public_errors
8
+
9
+ initializer "devise.add_middleware" do |app|
10
+ app.middleware.swap ActionDispatch::ShowExceptions, Errorlogic::ShowExceptions
11
+ end
12
+
13
+
14
+ end
15
+ end
@@ -0,0 +1,40 @@
1
+ module PublicRescue
2
+ # We subclass this middleware to render nice dynamic error pages instead of classical 404.html,... files
3
+ class ShowExceptions < ActionDispatch::ShowExceptions
4
+ private
5
+ # By default render_exception doesn't send the request object to rescue_action_in_public.
6
+ # Here we just store the env variable in a class variable so we can retrieve it later.
7
+ def render_exception(env, exception)
8
+ @env = env
9
+ # Original rails code is always best
10
+ super
11
+ end
12
+
13
+ def rescue_action_in_public(exception)
14
+ request = ActionDispatch::Request.new(@env)
15
+ status = status_code(exception)
16
+ exception_details = {
17
+ :request => request, :exception => exception,
18
+ :status => status,
19
+ :application_trace => application_trace(exception),
20
+ :framework_trace => framework_trace(exception),
21
+ :full_trace => full_trace(exception)
22
+ }
23
+ request.env['public_rescue.exception_details'] = exception_details
24
+ action = @@rescue_responses[exception.class.name]
25
+ controller_name = Rails.configuration.public_rescue.controller.to_s.camelize << 'Controller'
26
+ begin
27
+ controller = Rails.const_get(controller_name)
28
+ rescue NameError => n_E
29
+ controller = PublicErrorsController
30
+ end
31
+ response = controller.action(action).call(request.env).last
32
+ render(status, response.body)
33
+
34
+ # Any exceptions results in calling the parent method
35
+ rescue Exception => e
36
+ log_error(e)
37
+ super(exception)
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,12 @@
1
+ #PublicRecscue.rb
2
+ require 'rails'
3
+ require 'active_support/dependencies/autoload'
4
+ require 'action_dispatch'
5
+
6
+ module PublicRescue
7
+ extend ActiveSupport::Autoload
8
+ autoload :ShowExceptions
9
+ autoload :PublicErrorsController
10
+ end
11
+
12
+ require 'public_rescue/rails'
@@ -0,0 +1,75 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{public_rescue}
8
+ s.version = "0.2.3"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Cyril Picard"]
12
+ s.date = %q{2011-05-04}
13
+ s.description = %q{PublicRescue is a gem for rails application who want to display dynamic error pages. It creates a new Rack middleware which replaces ActionDispatch::ShowExceptions and overwrites the rescue_action_in_public method.}
14
+ s.email = %q{Cyril@picard.ch}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ "Gemfile",
22
+ "Gemfile.lock",
23
+ "LICENSE.txt",
24
+ "README.rdoc",
25
+ "Rakefile",
26
+ "VERSION",
27
+ "app/controllers/public_rescue/public_errors_controller.rb",
28
+ "app/views/public_rescue/public_errors/internal_server_error.html.erb",
29
+ "app/views/public_rescue/public_errors/not_found.html.erb",
30
+ "app/views/public_rescue/public_errors/unprocessable_entity.html.erb",
31
+ "lib/generators/public_rescue/public_rescue_generator.rb",
32
+ "lib/generators/public_rescue/views_generator.rb",
33
+ "lib/generators/template/controller.rb",
34
+ "lib/public_rescue.rb",
35
+ "lib/public_rescue/rails.rb",
36
+ "lib/public_rescue/show_exceptions.rb",
37
+ "public_rescue.gemspec",
38
+ "test/helper.rb",
39
+ "test/test_public_rescue.rb"
40
+ ]
41
+ s.homepage = %q{http://github.com/cyrilpic/public_rescue}
42
+ s.licenses = ["MIT"]
43
+ s.require_paths = ["lib"]
44
+ s.rubygems_version = %q{1.7.2}
45
+ s.summary = %q{Rails3 gem for displaying dynamic error pages.}
46
+ s.test_files = [
47
+ "test/helper.rb",
48
+ "test/test_public_rescue.rb"
49
+ ]
50
+
51
+ if s.respond_to? :specification_version then
52
+ s.specification_version = 3
53
+
54
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
55
+ s.add_runtime_dependency(%q<rails>, ["~> 3.0.0"])
56
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
57
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
58
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
59
+ s.add_development_dependency(%q<rcov>, [">= 0"])
60
+ else
61
+ s.add_dependency(%q<rails>, ["~> 3.0.0"])
62
+ s.add_dependency(%q<shoulda>, [">= 0"])
63
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
64
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
65
+ s.add_dependency(%q<rcov>, [">= 0"])
66
+ end
67
+ else
68
+ s.add_dependency(%q<rails>, ["~> 3.0.0"])
69
+ s.add_dependency(%q<shoulda>, [">= 0"])
70
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
71
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
72
+ s.add_dependency(%q<rcov>, [">= 0"])
73
+ end
74
+ end
75
+
data/test/helper.rb ADDED
@@ -0,0 +1,18 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'test/unit'
11
+ require 'shoulda'
12
+
13
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
15
+ require 'public_rescue'
16
+
17
+ class Test::Unit::TestCase
18
+ end
@@ -0,0 +1,7 @@
1
+ require 'helper'
2
+
3
+ class TestPublicRescue < Test::Unit::TestCase
4
+ should 'create some test' do
5
+ assert(true)
6
+ end
7
+ end
metadata ADDED
@@ -0,0 +1,161 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: public_rescue
3
+ version: !ruby/object:Gem::Version
4
+ hash: 17
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 2
9
+ - 3
10
+ version: 0.2.3
11
+ platform: ruby
12
+ authors:
13
+ - Cyril Picard
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-05-04 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rails
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ~>
27
+ - !ruby/object:Gem::Version
28
+ hash: 7
29
+ segments:
30
+ - 3
31
+ - 0
32
+ - 0
33
+ version: 3.0.0
34
+ type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: shoulda
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 0
47
+ version: "0"
48
+ type: :development
49
+ version_requirements: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ name: bundler
52
+ prerelease: false
53
+ requirement: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ~>
57
+ - !ruby/object:Gem::Version
58
+ hash: 23
59
+ segments:
60
+ - 1
61
+ - 0
62
+ - 0
63
+ version: 1.0.0
64
+ type: :development
65
+ version_requirements: *id003
66
+ - !ruby/object:Gem::Dependency
67
+ name: jeweler
68
+ prerelease: false
69
+ requirement: &id004 !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ~>
73
+ - !ruby/object:Gem::Version
74
+ hash: 7
75
+ segments:
76
+ - 1
77
+ - 5
78
+ - 2
79
+ version: 1.5.2
80
+ type: :development
81
+ version_requirements: *id004
82
+ - !ruby/object:Gem::Dependency
83
+ name: rcov
84
+ prerelease: false
85
+ requirement: &id005 !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ hash: 3
91
+ segments:
92
+ - 0
93
+ version: "0"
94
+ type: :development
95
+ version_requirements: *id005
96
+ description: PublicRescue is a gem for rails application who want to display dynamic error pages. It creates a new Rack middleware which replaces ActionDispatch::ShowExceptions and overwrites the rescue_action_in_public method.
97
+ email: Cyril@picard.ch
98
+ executables: []
99
+
100
+ extensions: []
101
+
102
+ extra_rdoc_files:
103
+ - LICENSE.txt
104
+ - README.rdoc
105
+ files:
106
+ - .document
107
+ - Gemfile
108
+ - Gemfile.lock
109
+ - LICENSE.txt
110
+ - README.rdoc
111
+ - Rakefile
112
+ - VERSION
113
+ - app/controllers/public_rescue/public_errors_controller.rb
114
+ - app/views/public_rescue/public_errors/internal_server_error.html.erb
115
+ - app/views/public_rescue/public_errors/not_found.html.erb
116
+ - app/views/public_rescue/public_errors/unprocessable_entity.html.erb
117
+ - lib/generators/public_rescue/public_rescue_generator.rb
118
+ - lib/generators/public_rescue/views_generator.rb
119
+ - lib/generators/template/controller.rb
120
+ - lib/public_rescue.rb
121
+ - lib/public_rescue/rails.rb
122
+ - lib/public_rescue/show_exceptions.rb
123
+ - public_rescue.gemspec
124
+ - test/helper.rb
125
+ - test/test_public_rescue.rb
126
+ homepage: http://github.com/cyrilpic/public_rescue
127
+ licenses:
128
+ - MIT
129
+ post_install_message:
130
+ rdoc_options: []
131
+
132
+ require_paths:
133
+ - lib
134
+ required_ruby_version: !ruby/object:Gem::Requirement
135
+ none: false
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ hash: 3
140
+ segments:
141
+ - 0
142
+ version: "0"
143
+ required_rubygems_version: !ruby/object:Gem::Requirement
144
+ none: false
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ hash: 3
149
+ segments:
150
+ - 0
151
+ version: "0"
152
+ requirements: []
153
+
154
+ rubyforge_project:
155
+ rubygems_version: 1.7.2
156
+ signing_key:
157
+ specification_version: 3
158
+ summary: Rails3 gem for displaying dynamic error pages.
159
+ test_files:
160
+ - test/helper.rb
161
+ - test/test_public_rescue.rb