gaffe 1.0.2 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dfa9dc27f05fc2fb90bdb304ae0461451cadd7d4
4
- data.tar.gz: 7bd1fb55e1684cacd0a7a488f8ae2b75c8a3b5e2
3
+ metadata.gz: 8a76d88f73a65c01478f10e150f4ec9ef46a9089
4
+ data.tar.gz: 512a17ddc07b06e40683a8685eacb56950b92205
5
5
  SHA512:
6
- metadata.gz: 64397092c293a471ccd9022a0fecf91c4b827bbe771d1337f47f34647122fd614953ba29c3f4a744b69e1631fe00ff610b59d04666e9e68dad10c5fe0f1eacb6
7
- data.tar.gz: 145f786bf8f153cba5cf7cfd79e773e338f65fd2dc0330beac2ccd4f4ce035c02119d2dd01a62e1af1dd6d98b6760e943e7a0f146cf24ceff9965c0372292bbf
6
+ metadata.gz: 7e87748a54801fea4b59b755a5c52564e1678184309012971042ff4749f3dd04520010365460a73afcadd8d86ce1807a2535074d1ccbe259d66626ae1c47ef86
7
+ data.tar.gz: 7314dde747616aace314b458bfad68369996971dc08737e81ea3aa284a2b5b5a04a773fdac5f6027588649f911e3d6ddcb533b2c4223082f130137007c4dbfd6
@@ -0,0 +1,2 @@
1
+ only:
2
+ - rubocop
@@ -1,7 +1,9 @@
1
1
  AllCops:
2
- Includes:
2
+ Include:
3
3
  - Gemfile
4
4
  - Rakefile
5
+ Exclude:
6
+ - vendor/*/**
5
7
 
6
8
  Documentation:
7
9
  Enabled: false
@@ -1,14 +1,27 @@
1
1
  language: ruby
2
2
 
3
3
  rvm:
4
- - 2.0.0
5
- - 1.9.3
4
+ - 2.3.0
5
+ - 2.1
6
+ - 2.0
7
+
8
+ sudo: false
6
9
 
7
10
  gemfile:
11
+ - gemfiles/Gemfile.rails-4.2
8
12
  - gemfiles/Gemfile.rails-4.0
9
- - gemfiles/Gemfile.rails-3.2.x
13
+ - gemfiles/Gemfile.rails-5.0
14
+
15
+ script:
16
+ - 'echo "Checking code style" && bundle exec phare'
17
+ - 'echo "Running specs" && bundle exec rake spec'
10
18
 
11
- script: "echo 'DO IT' && bundle exec rake spec"
19
+ matrix:
20
+ exclude:
21
+ - rvm: 2.0
22
+ gemfile: gemfiles/Gemfile.rails-5.0
23
+ - rvm: 2.1
24
+ gemfile: gemfiles/Gemfile.rails-5.0
12
25
 
13
26
  notifications:
14
27
  hipchat:
data/Gemfile CHANGED
@@ -1,2 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
  gemspec
3
+
4
+ gem 'rails', '~> 4.0.0'
data/LICENSE.md CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2013, Mirego
1
+ Copyright (c) 2013-2015, Mirego
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without
data/README.md CHANGED
@@ -3,13 +3,12 @@
3
3
  <img src="http://i.imgur.com/k9Vo08q.png" alt="gaffe" />
4
4
  </a>
5
5
  <br />
6
- Gaffe makes having customized error pages in Rails applications an easy thing.<br /> It takes advantage of a feature present in Rails 3.2 (and 4.0, obviously) called <code>exceptions_app</code>.
6
+ Gaffe makes having customized error pages in Rails applications an easy thing.<br /> It takes advantage of a feature present in Rails 3.2 (and 4.0+, obviously) called <code>exceptions_app</code>.
7
7
  <br /><br />
8
- <a href="https://rubygems.org/gems/gaffe"><img src="https://badge.fury.io/rb/gaffe.png" /></a>
9
- <a href="https://codeclimate.com/github/mirego/gaffe"><img src="https://codeclimate.com/github/mirego/gaffe.png" /></a>
10
- <a href='https://coveralls.io/r/mirego/gaffe?branch=master'><img src='https://coveralls.io/repos/mirego/gaffe/badge.png?branch=master' /></a>
11
- <a href='https://gemnasium.com/mirego/gaffe'><img src="https://gemnasium.com/mirego/gaffe.png" /></a>
12
- <a href="https://travis-ci.org/mirego/gaffe"><img src="https://travis-ci.org/mirego/gaffe.png?branch=master" /></a>
8
+ <a href="https://rubygems.org/gems/gaffe"><img src="http://img.shields.io/gem/v/gaffe.svg" /></a>
9
+ <a href="https://codeclimate.com/github/mirego/gaffe"><img src="http://img.shields.io/codeclimate/github/mirego/gaffe.svg" /></a>
10
+ <a href='https://gemnasium.com/mirego/gaffe'><img src="http://img.shields.io/gemnasium/mirego/gaffe.svg" /></a>
11
+ <a href="https://travis-ci.org/mirego/gaffe"><img src="http://img.shields.io/travis/mirego/gaffe.svg" /></a>
13
12
  </p>
14
13
 
15
14
  ---
@@ -42,7 +41,7 @@ However, if you want to use your own controller:
42
41
  ```ruby
43
42
  # config/initializers/gaffe.rb
44
43
  Gaffe.configure do |config|
45
- config.errors_controller = ErrorsController
44
+ config.errors_controller = 'ErrorsController'
46
45
  end
47
46
 
48
47
  Gaffe.enable!
@@ -56,8 +55,8 @@ through JSON and regular errors through HTML pages.
56
55
  # config/initializers/gaffe.rb
57
56
  Gaffe.configure do |config|
58
57
  config.errors_controller = {
59
- %r[^/api/] => Api::ErrorsController,
60
- %r[^/] => ErrorsController
58
+ %r[^/api/] => 'Api::ErrorsController',
59
+ %r[^/] => 'ErrorsController'
61
60
  }
62
61
  end
63
62
 
@@ -77,7 +76,7 @@ class ErrorsController < ApplicationController
77
76
  include Gaffe::Errors
78
77
 
79
78
  # Make sure anonymous users can see the page
80
- skip_before_filter :authenticate_user!
79
+ skip_before_action :authenticate_user!
81
80
 
82
81
  # Override 'error' layout
83
82
  layout 'application'
@@ -98,7 +97,7 @@ class API::ErrorsController < API::ApplicationController
98
97
  include Gaffe::Errors
99
98
 
100
99
  # Make sure anonymous users can see the page
101
- skip_before_filter :authenticate_user!
100
+ skip_before_action :authenticate_user!
102
101
 
103
102
  # Disable layout (your `API::ApplicationController` probably does this already)
104
103
  layout false
@@ -107,8 +106,8 @@ class API::ErrorsController < API::ApplicationController
107
106
  # plus the exception name and backtrace if we’re in development.
108
107
  def show
109
108
  output = { error: @rescue_response }
110
- output.merge! exception: @exception.inspect, backtrace: @exception.backtrace.first(10) if Rails.env.development?
111
- render json: { error: @rescue_response }, status: @status_code
109
+ output.merge! exception: @exception.inspect, backtrace: @exception.backtrace.first(10) if Rails.env.development? || Rails.env.test?
110
+ render json: output, status: @status_code
112
111
  end
113
112
  end
114
113
  ```
@@ -142,7 +141,7 @@ config.action_dispatch.rescue_responses.merge! 'CanCan::AccessDenied' => :forbid
142
141
  config.action_dispatch.rescue_responses.merge! 'MyCustomException' => :not_acceptable
143
142
  ```
144
143
 
145
- ### Rails development mode
144
+ ### Rails development environment
146
145
 
147
146
  Rails prefers to render its own debug-friendly errors in the `development` environment,
148
147
  which is totally understandable. However, if you want to test Gaffe’s behavior in development
@@ -153,6 +152,25 @@ you’ll have to edit the `config/environments/development.rb` file.
153
152
  config.consider_all_requests_local = false
154
153
  ```
155
154
 
155
+ ### Rails test environment
156
+
157
+ You also have to configure Rails’ `test` environment so it lets Gaffe handle exceptions
158
+ in request tests. You’ll have to edit the `config/environments/test.rb` file.
159
+
160
+ ```ruby
161
+ # Make Rails use `exceptions_app` in tests
162
+ config.consider_all_requests_local = false
163
+
164
+ # Render exceptions instead of raising them
165
+ config.action_dispatch.show_exceptions = true
166
+ ```
167
+
168
+ Unfortunately, controller tests (called *functional tests* in Rails) do not
169
+ work with Gaffe, since they only test method calls in the controller class —
170
+ they do not go through the entire Rack stack to simulate a real HTTP request.
171
+
172
+ To test responses sent by Gaffe, you must use *request tests*.
173
+
156
174
  ## Contributors
157
175
 
158
176
  * [@remiprev](https://github.com/remiprev)
@@ -161,7 +179,7 @@ config.consider_all_requests_local = false
161
179
 
162
180
  ## License
163
181
 
164
- `Gaffe` is © 2013 [Mirego](http://www.mirego.com) and may be freely distributed under the [New BSD license](http://opensource.org/licenses/BSD-3-Clause). See the [`LICENSE.md`](https://github.com/mirego/gaffe/blob/master/LICENSE.md) file.
182
+ `Gaffe` is © 2013-2015 [Mirego](http://www.mirego.com) and may be freely distributed under the [New BSD license](http://opensource.org/licenses/BSD-3-Clause). See the [`LICENSE.md`](https://github.com/mirego/gaffe/blob/master/LICENSE.md) file.
165
183
 
166
184
  The mushroom cloud logo is based on [this lovely icon](http://thenounproject.com/noun/mushroom-cloud/#icon-No18596) by [Gokce Ozan](http://thenounproject.com/occultsearcher), from The Noun Project. Used under a [Creative Commons BY 3.0](http://creativecommons.org/licenses/by/3.0/) license.
167
185
 
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ['Rémi Prévost', 'Simon Prévost']
10
10
  spec.email = ['rprevost@mirego.com', 'sprevost@mirego.com']
11
11
  spec.description = 'Gaffe handles Rails error pages in a clean, simple way.'
12
- spec.summary = 'Gaffe handles Rails error pages in a clean, simple way.'
12
+ spec.summary = spec.description
13
13
  spec.homepage = 'https://github.com/mirego/gaffe'
14
14
  spec.license = "BSD 3-Clause"
15
15
 
@@ -20,12 +20,10 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency 'bundler', '~> 1.3'
22
22
  spec.add_development_dependency 'rake'
23
- spec.add_development_dependency 'rspec', '~> 2.14'
24
- spec.add_development_dependency 'coveralls'
23
+ spec.add_development_dependency 'rspec', '~> 3.1.0'
25
24
 
26
- spec.add_development_dependency 'rubocop'
27
- spec.add_development_dependency 'scss-lint'
25
+ spec.add_development_dependency 'rubocop', '>= 0.21'
28
26
  spec.add_development_dependency 'phare'
29
27
 
30
- spec.add_dependency 'rails', '>= 3.2.0'
28
+ spec.add_dependency 'rails', '>= 4.0.0'
31
29
  end
@@ -2,4 +2,4 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec path: '../'
4
4
 
5
- gem 'rails', '~> 3.2.0'
5
+ gem 'rails', '~> 4.2.0'
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '../'
4
+
5
+ gem 'rails', '>= 5.0.0.beta2', '< 5.1'
@@ -3,6 +3,7 @@ require 'gaffe/version'
3
3
  require 'ostruct'
4
4
  require 'pathname'
5
5
  require 'gaffe/errors'
6
+ require 'gaffe/errors_controller_resolver'
6
7
 
7
8
  module Gaffe
8
9
  # Yield a block to populate @configuration
@@ -15,14 +16,6 @@ module Gaffe
15
16
  @configuration ||= OpenStruct.new
16
17
  end
17
18
 
18
- # Return our default controller
19
- def self.builtin_errors_controller
20
- @builtin_errors_controller ||= begin
21
- require 'gaffe/errors_controller'
22
- Gaffe::ErrorsController
23
- end
24
- end
25
-
26
19
  # Configure Rails to use our code when encountering exceptions
27
20
  def self.enable!
28
21
  Rails.application.config.exceptions_app = lambda do |env|
@@ -33,15 +26,8 @@ module Gaffe
33
26
  # Return the right errors controller to use for the request that
34
27
  # triggered the error
35
28
  def self.errors_controller_for_request(env)
36
- controller = configuration.errors_controller
37
-
38
- if controller.is_a?(Hash)
39
- controller = controller.find { |pattern, _| env['REQUEST_URI'] =~ pattern }.try(:last)
40
- end
41
-
42
- controller ||= builtin_errors_controller
43
-
44
- controller.respond_to?(:constantize) ? controller.constantize : controller
29
+ resolver = ErrorsControllerResolver.new(env)
30
+ resolver.resolved_controller
45
31
  end
46
32
 
47
33
  # Return the root path of the gem
@@ -3,8 +3,8 @@ module Gaffe
3
3
  extend ActiveSupport::Concern
4
4
 
5
5
  included do
6
- before_filter :fetch_exception, only: %w(show)
7
- before_filter :append_view_paths
6
+ before_action :fetch_exception, only: %w(show)
7
+ before_action :append_view_paths
8
8
  layout 'error'
9
9
  end
10
10
 
@@ -17,8 +17,8 @@ module Gaffe
17
17
  protected
18
18
 
19
19
  def fetch_exception
20
- @exception = env['action_dispatch.exception']
21
- @status_code = ActionDispatch::ExceptionWrapper.new(env, @exception).status_code
20
+ @exception = request.env['action_dispatch.exception']
21
+ @status_code = ActionDispatch::ExceptionWrapper.new(request.env, @exception).status_code
22
22
  @rescue_response = ActionDispatch::ExceptionWrapper.rescue_responses[@exception.class.name]
23
23
  end
24
24
 
@@ -0,0 +1,36 @@
1
+ module Gaffe
2
+ class ErrorsControllerResolver
3
+ # Accessors
4
+ attr_reader :controller
5
+
6
+ # Constants
7
+ BUILTIN_CONTROLLER = lambda do
8
+ require 'gaffe/errors_controller'
9
+ Gaffe::ErrorsController
10
+ end
11
+
12
+ def initialize(env)
13
+ @env = env
14
+ end
15
+
16
+ def resolved_controller
17
+ # Use the configured controller first
18
+ controller = Gaffe.configuration.errors_controller
19
+
20
+ # Parse the request if multiple controllers are configured
21
+ controller = request_controller(controller) if controller.is_a?(Hash)
22
+
23
+ # Fall back on the builtin errors controller
24
+ controller ||= BUILTIN_CONTROLLER.call
25
+
26
+ # Make sure we return a Class
27
+ controller.respond_to?(:constantize) ? controller.constantize : controller
28
+ end
29
+
30
+ private
31
+
32
+ def request_controller(controllers)
33
+ controllers.find { |pattern, _| @env['REQUEST_URI'] =~ pattern }.try(:last)
34
+ end
35
+ end
36
+ end
@@ -1,3 +1,3 @@
1
1
  module Gaffe
2
- VERSION = '1.0.2'
2
+ VERSION = '1.1.0'.freeze
3
3
  end
@@ -0,0 +1,55 @@
1
+ require 'spec_helper'
2
+
3
+ describe Gaffe::ErrorsControllerResolver do
4
+ describe :resolved_controller do
5
+ let(:resolver) { Gaffe::ErrorsControllerResolver.new(env) }
6
+ let(:controller) { resolver.resolved_controller }
7
+ let(:request) { test_request }
8
+ let(:env) { request.env }
9
+
10
+ context 'with custom-defined controller' do
11
+ before do
12
+ Gaffe.configure do |config|
13
+ config.errors_controller = :foo
14
+ end
15
+ end
16
+
17
+ it { expect(controller).to eql :foo }
18
+ end
19
+
20
+ context 'with custom-defined controller that respond to `#constantize`' do
21
+ before do
22
+ Gaffe.configure do |config|
23
+ config.errors_controller = 'String'
24
+ end
25
+ end
26
+
27
+ it { expect(controller).to eql String }
28
+ end
29
+
30
+ context 'with multiple custom-defined controllers' do
31
+ before do
32
+ Gaffe.configure do |config|
33
+ config.errors_controller = {
34
+ %r{^/web/} => :web_controller,
35
+ %r{^/api/} => :api_controller
36
+ }
37
+ end
38
+ end
39
+
40
+ context 'with error coming from matching URL' do
41
+ let(:env) { request.env.merge 'REQUEST_URI' => '/api/users' }
42
+ it { expect(controller).to eql :api_controller }
43
+ end
44
+
45
+ context 'with errors coming from non-matching URL' do
46
+ let(:env) { request.env.merge 'REQUEST_URI' => '/what' }
47
+ it { expect(controller).to eql Gaffe::ErrorsController }
48
+ end
49
+ end
50
+
51
+ context 'without custom-defined controller' do
52
+ it { expect(controller).to eql Gaffe::ErrorsController }
53
+ end
54
+ end
55
+ end
@@ -3,16 +3,19 @@ require 'spec_helper'
3
3
  describe Gaffe::Errors do
4
4
  describe :Actions do
5
5
  describe :show do
6
- let(:request) { ActionDispatch::TestRequest.new }
6
+ let(:request) { test_request }
7
7
  let(:env) { request.env.merge 'action_dispatch.exception' => exception }
8
+ let(:status) { response.first }
9
+ let(:body) { response.last.body }
8
10
 
9
- let(:response) { Gaffe.errors_controller_for_request(env).action(:show).call(env) }
10
- subject { response.last }
11
+ let(:response) do
12
+ Gaffe.errors_controller_for_request(env).action(:show).call(env)
13
+ end
11
14
 
12
15
  context 'with builtin exception' do
13
16
  let(:exception) { ActionController::RoutingError.new(:foo) }
14
- its(:status) { should eql 404 }
15
- its(:body) { should match(/Not Found/) }
17
+ it { expect(status).to eql 404 }
18
+ it { expect(body).to match(/Not Found/) }
16
19
  end
17
20
 
18
21
  context 'with custom exception and missing view' do
@@ -24,8 +27,8 @@ describe Gaffe::Errors do
24
27
  end
25
28
 
26
29
  let(:exception) { exception_class.new }
27
- its(:status) { should eql 500 }
28
- its(:body) { should match(/Internal Server Error/) }
30
+ it { expect(status).to eql 500 }
31
+ it { expect(body).to match(/Internal Server Error/) }
29
32
  end
30
33
  end
31
34
  end
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe Gaffe do
4
4
  describe :ClassMethods do
5
5
  describe :configure do
6
- subject { Gaffe.configuration }
6
+ let(:configuration) { Gaffe.configuration }
7
7
  before do
8
8
  Gaffe.configure do |config|
9
9
  config.foo = :bar
@@ -11,64 +11,13 @@ describe Gaffe do
11
11
  end
12
12
  end
13
13
 
14
- its(:foo) { should eql :bar }
15
- its(:bar) { should eql :foo }
16
- end
17
-
18
- describe :errors_controller_for_request do
19
- let(:controller) { Gaffe.errors_controller_for_request(env) }
20
- let(:request) { ActionDispatch::TestRequest.new }
21
- let(:env) { request.env }
22
-
23
- context 'with custom-defined controller' do
24
- before do
25
- Gaffe.configure do |config|
26
- config.errors_controller = :foo
27
- end
28
- end
29
-
30
- it { expect(controller).to eql :foo }
31
- end
32
-
33
- context 'with custom-defined controller that respond to `#constantize`' do
34
- before do
35
- Gaffe.configure do |config|
36
- config.errors_controller = 'String'
37
- end
38
- end
39
-
40
- it { expect(controller).to eql String }
41
- end
42
-
43
- context 'with multiple custom-defined controllers' do
44
- before do
45
- Gaffe.configure do |config|
46
- config.errors_controller = {
47
- %r[^/web/] => :web_controller,
48
- %r[^/api/] => :api_controller
49
- }
50
- end
51
- end
52
-
53
- context 'with error coming from matching URL' do
54
- let(:env) { request.env.merge 'REQUEST_URI' => '/api/users' }
55
- it { expect(controller).to eql :api_controller }
56
- end
57
-
58
- context 'with errors coming from non-matching URL' do
59
- let(:env) { request.env.merge 'REQUEST_URI' => '/what' }
60
- it { expect(controller).to eql Gaffe::ErrorsController }
61
- end
62
- end
63
-
64
- context 'without custom-defined controller' do
65
- it { expect(controller).to eql Gaffe::ErrorsController }
66
- end
14
+ it { expect(configuration.foo).to eql :bar }
15
+ it { expect(configuration.bar).to eql :foo }
67
16
  end
68
17
 
69
18
  describe :enable! do
70
- let(:env) { ActionDispatch::TestRequest.new.env }
71
- let(:action_double) { double(call: lambda { |env| [400, {}, 'SOMETHING WENT WRONG.'] }) }
19
+ let(:env) { test_request.env }
20
+ let(:action_double) { double(call: proc { [400, {}, 'SOMETHING WENT WRONG.'] }) }
72
21
  before { Gaffe.enable! }
73
22
 
74
23
  specify do
@@ -1,19 +1,22 @@
1
1
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
2
 
3
- require 'coveralls'
4
- Coveralls.wear!
5
-
6
3
  require 'rspec'
7
4
  require 'action_controller/railtie'
8
5
  require 'gaffe'
9
6
 
10
7
  RSpec.configure do |config|
8
+ # Disable `should` syntax
9
+ config.expect_with :rspec do |c|
10
+ c.syntax = :expect
11
+ end
12
+
11
13
  config.before(:each) do
12
14
  # Fake Rails.root
13
- Rails.stub(:root).and_return(RAILS_ROOT)
15
+ allow(Rails).to receive(:root).and_return(RAILS_ROOT)
14
16
 
15
17
  # Fake Rails.application
16
- Rails.stub(:application).and_return OpenStruct.new(config: OpenStruct.new, env_config: {})
18
+ application = double('Rails Application', config: OpenStruct.new, env_config: {})
19
+ allow(Rails).to receive(:application).and_return(application)
17
20
 
18
21
  # Make sure we clear memoized variables before each test
19
22
  [:@configuration].each do |variable|
@@ -26,5 +29,13 @@ end
26
29
  class ApplicationController < ActionController::Base
27
30
  end
28
31
 
32
+ def test_request
33
+ if Rails::VERSION::MAJOR >= 5
34
+ ActionDispatch::TestRequest.create
35
+ else
36
+ ActionDispatch::TestRequest.new
37
+ end
38
+ end
39
+
29
40
  # We need Rails.root
30
41
  RAILS_ROOT = Pathname.new(File.expand_path('../../', __FILE__))
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gaffe
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rémi Prévost
@@ -9,120 +9,92 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-04-14 00:00:00.000000000 Z
12
+ date: 2016-02-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ~>
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
20
  version: '1.3'
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ~>
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: '1.3'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rake
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '>='
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - '>='
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rspec
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - ~>
46
+ - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '2.14'
48
+ version: 3.1.0
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - ~>
53
+ - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '2.14'
56
- - !ruby/object:Gem::Dependency
57
- name: coveralls
58
- requirement: !ruby/object:Gem::Requirement
59
- requirements:
60
- - - '>='
61
- - !ruby/object:Gem::Version
62
- version: '0'
63
- type: :development
64
- prerelease: false
65
- version_requirements: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - '>='
68
- - !ruby/object:Gem::Version
69
- version: '0'
55
+ version: 3.1.0
70
56
  - !ruby/object:Gem::Dependency
71
57
  name: rubocop
72
58
  requirement: !ruby/object:Gem::Requirement
73
59
  requirements:
74
- - - '>='
75
- - !ruby/object:Gem::Version
76
- version: '0'
77
- type: :development
78
- prerelease: false
79
- version_requirements: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - '>='
82
- - !ruby/object:Gem::Version
83
- version: '0'
84
- - !ruby/object:Gem::Dependency
85
- name: scss-lint
86
- requirement: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - '>='
60
+ - - ">="
89
61
  - !ruby/object:Gem::Version
90
- version: '0'
62
+ version: '0.21'
91
63
  type: :development
92
64
  prerelease: false
93
65
  version_requirements: !ruby/object:Gem::Requirement
94
66
  requirements:
95
- - - '>='
67
+ - - ">="
96
68
  - !ruby/object:Gem::Version
97
- version: '0'
69
+ version: '0.21'
98
70
  - !ruby/object:Gem::Dependency
99
71
  name: phare
100
72
  requirement: !ruby/object:Gem::Requirement
101
73
  requirements:
102
- - - '>='
74
+ - - ">="
103
75
  - !ruby/object:Gem::Version
104
76
  version: '0'
105
77
  type: :development
106
78
  prerelease: false
107
79
  version_requirements: !ruby/object:Gem::Requirement
108
80
  requirements:
109
- - - '>='
81
+ - - ">="
110
82
  - !ruby/object:Gem::Version
111
83
  version: '0'
112
84
  - !ruby/object:Gem::Dependency
113
85
  name: rails
114
86
  requirement: !ruby/object:Gem::Requirement
115
87
  requirements:
116
- - - '>='
88
+ - - ">="
117
89
  - !ruby/object:Gem::Version
118
- version: 3.2.0
90
+ version: 4.0.0
119
91
  type: :runtime
120
92
  prerelease: false
121
93
  version_requirements: !ruby/object:Gem::Requirement
122
94
  requirements:
123
- - - '>='
95
+ - - ">="
124
96
  - !ruby/object:Gem::Version
125
- version: 3.2.0
97
+ version: 4.0.0
126
98
  description: Gaffe handles Rails error pages in a clean, simple way.
127
99
  email:
128
100
  - rprevost@mirego.com
@@ -131,11 +103,11 @@ executables: []
131
103
  extensions: []
132
104
  extra_rdoc_files: []
133
105
  files:
134
- - .gitignore
135
- - .rspec
136
- - .rubocop.yml
137
- - .scss-lint.yml
138
- - .travis.yml
106
+ - ".gitignore"
107
+ - ".phare.yml"
108
+ - ".rspec"
109
+ - ".rubocop.yml"
110
+ - ".travis.yml"
139
111
  - Gemfile
140
112
  - LICENSE.md
141
113
  - README.md
@@ -152,12 +124,15 @@ files:
152
124
  - app/views/errors/unprocessable_entity.html.erb
153
125
  - app/views/layouts/error.html.erb
154
126
  - gaffe.gemspec
155
- - gemfiles/Gemfile.rails-3.2.x
156
127
  - gemfiles/Gemfile.rails-4.0
128
+ - gemfiles/Gemfile.rails-4.2
129
+ - gemfiles/Gemfile.rails-5.0
157
130
  - lib/gaffe.rb
158
131
  - lib/gaffe/errors.rb
159
132
  - lib/gaffe/errors_controller.rb
133
+ - lib/gaffe/errors_controller_resolver.rb
160
134
  - lib/gaffe/version.rb
135
+ - spec/gaffe/errors_controller_resolver_spec.rb
161
136
  - spec/gaffe/errors_spec.rb
162
137
  - spec/gaffe/gaffe_spec.rb
163
138
  - spec/spec_helper.rb
@@ -171,21 +146,22 @@ require_paths:
171
146
  - lib
172
147
  required_ruby_version: !ruby/object:Gem::Requirement
173
148
  requirements:
174
- - - '>='
149
+ - - ">="
175
150
  - !ruby/object:Gem::Version
176
151
  version: '0'
177
152
  required_rubygems_version: !ruby/object:Gem::Requirement
178
153
  requirements:
179
- - - '>='
154
+ - - ">="
180
155
  - !ruby/object:Gem::Version
181
156
  version: '0'
182
157
  requirements: []
183
158
  rubyforge_project:
184
- rubygems_version: 2.1.0
159
+ rubygems_version: 2.5.1
185
160
  signing_key:
186
161
  specification_version: 4
187
162
  summary: Gaffe handles Rails error pages in a clean, simple way.
188
163
  test_files:
164
+ - spec/gaffe/errors_controller_resolver_spec.rb
189
165
  - spec/gaffe/errors_spec.rb
190
166
  - spec/gaffe/gaffe_spec.rb
191
167
  - spec/spec_helper.rb
@@ -1,12 +0,0 @@
1
- linters:
2
- CapitalizationInSelector:
3
- enabled: false
4
- SortedProperties:
5
- enabled: false
6
- LeadingZero:
7
- enabled: false
8
- BorderZero:
9
- enabled: false
10
- SelectorDepth:
11
- enabled: true
12
- max_depth: 4