goalie 0.0.2 → 0.0.3

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/goalie.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{goalie}
8
- s.version = "0.0.2"
8
+ s.version = "0.0.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Helder Ribeiro"]
12
- s.date = %q{2010-09-13}
12
+ s.date = %q{2010-10-13}
13
13
  s.description = %q{Middleware to catch exceptions and Rails Engine to render them. Error-handling views and controllers can be easily overriden.}
14
14
  s.email = %q{helder@gmail.com}
15
15
  s.extra_rdoc_files = [
data/lib/goalie/rails.rb CHANGED
@@ -2,8 +2,8 @@ module Goalie
2
2
  class Engine < Rails::Engine
3
3
 
4
4
  initializer "goalie.add_middleware" do |app|
5
- app.middleware.delete 'ShowExceptions'
6
- app.middleware.use Goalie::CustomErrorPages
5
+ app.middleware.insert_after 'ActionDispatch::RemoteIp', Goalie::CustomErrorPages
6
+ app.middleware.delete 'ActionDispatch::ShowExceptions'
7
7
  end
8
8
 
9
9
  end
@@ -1,3 +1,3 @@
1
1
  module Goalie
2
- VERSION = "0.0.2".freeze
2
+ VERSION = "0.0.3".freeze
3
3
  end
data/lib/goalie.rb CHANGED
@@ -8,7 +8,6 @@ module Goalie
8
8
  # This middleware rescues any exception returned by the application
9
9
  # and renders nice exception pages.
10
10
  class CustomErrorPages
11
- LOCALHOST = [/^127\.0\.0\.\d{1,3}$/, "::1", /^0:0:0:0:0:0:0:1(%.*)?$/].freeze
12
11
 
13
12
  cattr_accessor :rescue_responses
14
13
  @@rescue_responses = Hash.new(:internal_server_error)
@@ -62,7 +61,7 @@ module Goalie
62
61
  log_error(exception)
63
62
 
64
63
  request = ActionDispatch::Request.new(env)
65
- if @consider_all_requests_local || local_request?(request)
64
+ if @consider_all_requests_local || request.local?
66
65
  rescue_action_locally(request, exception)
67
66
  else
68
67
  rescue_action_in_public(request, exception)
@@ -106,19 +105,12 @@ module Goalie
106
105
  :framework_trace => framework_trace(exception),
107
106
  :full_trace => full_trace(exception)
108
107
  }
109
- request.env['custom_error_pages.error_params'] = error_params
108
+ request.env['goalie.error_params'] = error_params
110
109
  action = @@rescue_responses[exception.class.name]
111
110
  response = PublicErrorsController.action(action).call(request.env).last
112
111
  render(status_code(exception), response.body)
113
112
  end
114
113
 
115
- # True if the request came from localhost, 127.0.0.1.
116
- def local_request?(request)
117
- LOCALHOST.any? { |local_ip|
118
- local_ip === request.remote_addr && local_ip === request.remote_ip
119
- }
120
- end
121
-
122
114
  def status_code(exception)
123
115
  Rack::Utils.status_code(@@rescue_responses[exception.class.name])
124
116
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: goalie
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Helder Ribeiro
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-09-13 00:00:00 -03:00
18
+ date: 2010-10-13 00:00:00 -03:00
19
19
  default_executable:
20
20
  dependencies: []
21
21