exceptionally 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -2
  3. data/lib/exceptionally/handler.rb +5 -3
  4. data/lib/exceptionally/version.rb +1 -1
  5. data/lib/exceptionally.rb +9 -0
  6. data/{test → spec}/dummy/app/assets/javascripts/application.js +1 -1
  7. data/{test → spec}/dummy/app/assets/stylesheets/application.css +5 -3
  8. data/{test → spec}/dummy/app/controllers/application_controller.rb +0 -0
  9. data/{test → spec}/dummy/app/helpers/application_helper.rb +0 -0
  10. data/spec/dummy/app/views/layouts/application.html.erb +13 -0
  11. data/{test → spec}/dummy/bin/bundle +0 -0
  12. data/{test → spec}/dummy/bin/rails +0 -0
  13. data/{test → spec}/dummy/bin/rake +0 -0
  14. data/spec/dummy/config/application.rb +12 -0
  15. data/{test → spec}/dummy/config/boot.rb +1 -1
  16. data/spec/dummy/config/database.yml +20 -0
  17. data/{test → spec}/dummy/config/environment.rb +1 -1
  18. data/{test → spec}/dummy/config/environments/development.rb +10 -5
  19. data/{test → spec}/dummy/config/environments/production.rb +8 -10
  20. data/{test → spec}/dummy/config/environments/test.rb +6 -8
  21. data/spec/dummy/config/initializers/assets.rb +8 -0
  22. data/{test → spec}/dummy/config/initializers/backtrace_silencers.rb +0 -0
  23. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  24. data/{test → spec}/dummy/config/initializers/filter_parameter_logging.rb +0 -0
  25. data/{test → spec}/dummy/config/initializers/inflections.rb +0 -0
  26. data/{test → spec}/dummy/config/initializers/mime_types.rb +0 -1
  27. data/spec/dummy/config/initializers/session_store.rb +3 -0
  28. data/{test → spec}/dummy/config/initializers/wrap_parameters.rb +0 -0
  29. data/{test → spec}/dummy/config/locales/en.yml +0 -0
  30. data/spec/dummy/config/routes.rb +3 -0
  31. data/spec/dummy/config/secrets.yml +22 -0
  32. data/{test → spec}/dummy/config.ru +0 -0
  33. data/spec/dummy/log/test.log +13013 -0
  34. data/{test → spec}/dummy/public/404.html +20 -11
  35. data/{test → spec}/dummy/public/422.html +20 -11
  36. data/{test → spec}/dummy/public/500.html +19 -10
  37. data/{test → spec}/dummy/public/favicon.ico +0 -0
  38. data/spec/dummy/version.rb +3 -0
  39. data/spec/exceptionally/config_spec.rb +11 -0
  40. data/spec/exceptionally/controller_spec.rb +45 -0
  41. data/spec/exceptionally/handler_spec.rb +89 -0
  42. data/spec/spec_helper.rb +26 -0
  43. metadata +132 -70
  44. data/Rakefile +0 -32
  45. data/lib/tasks/exceptionally_tasks.rake +0 -4
  46. data/test/dummy/README.rdoc +0 -28
  47. data/test/dummy/Rakefile +0 -6
  48. data/test/dummy/app/views/layouts/application.html.erb +0 -14
  49. data/test/dummy/config/application.rb +0 -23
  50. data/test/dummy/config/database.yml +0 -25
  51. data/test/dummy/config/initializers/secret_token.rb +0 -12
  52. data/test/dummy/config/initializers/session_store.rb +0 -3
  53. data/test/dummy/config/routes.rb +0 -56
  54. data/test/exceptionally_test.rb +0 -7
  55. data/test/test_helper.rb +0 -15
@@ -2,17 +2,23 @@
2
2
  <html>
3
3
  <head>
4
4
  <title>The page you were looking for doesn't exist (404)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
5
6
  <style>
6
7
  body {
7
8
  background-color: #EFEFEF;
8
9
  color: #2E2F30;
9
10
  text-align: center;
10
11
  font-family: arial, sans-serif;
12
+ margin: 0;
11
13
  }
12
14
 
13
15
  div.dialog {
14
- width: 25em;
15
- margin: 4em auto 0 auto;
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
16
22
  border: 1px solid #CCC;
17
23
  border-right-color: #999;
18
24
  border-left-color: #999;
@@ -21,7 +27,8 @@
21
27
  border-top-left-radius: 9px;
22
28
  border-top-right-radius: 9px;
23
29
  background-color: white;
24
- padding: 7px 4em 0 4em;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
25
32
  }
26
33
 
27
34
  h1 {
@@ -30,19 +37,19 @@
30
37
  line-height: 1.5em;
31
38
  }
32
39
 
33
- body > p {
34
- width: 33em;
35
- margin: 0 auto 1em;
36
- padding: 1em 0;
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
37
43
  background-color: #F7F7F7;
38
44
  border: 1px solid #CCC;
39
45
  border-right-color: #999;
46
+ border-left-color: #999;
40
47
  border-bottom-color: #999;
41
48
  border-bottom-left-radius: 4px;
42
49
  border-bottom-right-radius: 4px;
43
50
  border-top-color: #DADADA;
44
51
  color: #666;
45
- box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
46
53
  }
47
54
  </style>
48
55
  </head>
@@ -50,9 +57,11 @@
50
57
  <body>
51
58
  <!-- This file lives in public/404.html -->
52
59
  <div class="dialog">
53
- <h1>The page you were looking for doesn't exist.</h1>
54
- <p>You may have mistyped the address or the page may have moved.</p>
60
+ <div>
61
+ <h1>The page you were looking for doesn't exist.</h1>
62
+ <p>You may have mistyped the address or the page may have moved.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
55
65
  </div>
56
- <p>If you are the application owner check the logs for more information.</p>
57
66
  </body>
58
67
  </html>
@@ -2,17 +2,23 @@
2
2
  <html>
3
3
  <head>
4
4
  <title>The change you wanted was rejected (422)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
5
6
  <style>
6
7
  body {
7
8
  background-color: #EFEFEF;
8
9
  color: #2E2F30;
9
10
  text-align: center;
10
11
  font-family: arial, sans-serif;
12
+ margin: 0;
11
13
  }
12
14
 
13
15
  div.dialog {
14
- width: 25em;
15
- margin: 4em auto 0 auto;
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
16
22
  border: 1px solid #CCC;
17
23
  border-right-color: #999;
18
24
  border-left-color: #999;
@@ -21,7 +27,8 @@
21
27
  border-top-left-radius: 9px;
22
28
  border-top-right-radius: 9px;
23
29
  background-color: white;
24
- padding: 7px 4em 0 4em;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
25
32
  }
26
33
 
27
34
  h1 {
@@ -30,19 +37,19 @@
30
37
  line-height: 1.5em;
31
38
  }
32
39
 
33
- body > p {
34
- width: 33em;
35
- margin: 0 auto 1em;
36
- padding: 1em 0;
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
37
43
  background-color: #F7F7F7;
38
44
  border: 1px solid #CCC;
39
45
  border-right-color: #999;
46
+ border-left-color: #999;
40
47
  border-bottom-color: #999;
41
48
  border-bottom-left-radius: 4px;
42
49
  border-bottom-right-radius: 4px;
43
50
  border-top-color: #DADADA;
44
51
  color: #666;
45
- box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
46
53
  }
47
54
  </style>
48
55
  </head>
@@ -50,9 +57,11 @@
50
57
  <body>
51
58
  <!-- This file lives in public/422.html -->
52
59
  <div class="dialog">
53
- <h1>The change you wanted was rejected.</h1>
54
- <p>Maybe you tried to change something you didn't have access to.</p>
60
+ <div>
61
+ <h1>The change you wanted was rejected.</h1>
62
+ <p>Maybe you tried to change something you didn't have access to.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
55
65
  </div>
56
- <p>If you are the application owner check the logs for more information.</p>
57
66
  </body>
58
67
  </html>
@@ -2,17 +2,23 @@
2
2
  <html>
3
3
  <head>
4
4
  <title>We're sorry, but something went wrong (500)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
5
6
  <style>
6
7
  body {
7
8
  background-color: #EFEFEF;
8
9
  color: #2E2F30;
9
10
  text-align: center;
10
11
  font-family: arial, sans-serif;
12
+ margin: 0;
11
13
  }
12
14
 
13
15
  div.dialog {
14
- width: 25em;
15
- margin: 4em auto 0 auto;
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
16
22
  border: 1px solid #CCC;
17
23
  border-right-color: #999;
18
24
  border-left-color: #999;
@@ -21,7 +27,8 @@
21
27
  border-top-left-radius: 9px;
22
28
  border-top-right-radius: 9px;
23
29
  background-color: white;
24
- padding: 7px 4em 0 4em;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
25
32
  }
26
33
 
27
34
  h1 {
@@ -30,19 +37,19 @@
30
37
  line-height: 1.5em;
31
38
  }
32
39
 
33
- body > p {
34
- width: 33em;
35
- margin: 0 auto 1em;
36
- padding: 1em 0;
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
37
43
  background-color: #F7F7F7;
38
44
  border: 1px solid #CCC;
39
45
  border-right-color: #999;
46
+ border-left-color: #999;
40
47
  border-bottom-color: #999;
41
48
  border-bottom-left-radius: 4px;
42
49
  border-bottom-right-radius: 4px;
43
50
  border-top-color: #DADADA;
44
51
  color: #666;
45
- box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
46
53
  }
47
54
  </style>
48
55
  </head>
@@ -50,8 +57,10 @@
50
57
  <body>
51
58
  <!-- This file lives in public/500.html -->
52
59
  <div class="dialog">
53
- <h1>We're sorry, but something went wrong.</h1>
60
+ <div>
61
+ <h1>We're sorry, but something went wrong.</h1>
62
+ </div>
63
+ <p>If you are the application owner check the logs for more information.</p>
54
64
  </div>
55
- <p>If you are the application owner check the logs for more information.</p>
56
65
  </body>
57
66
  </html>
File without changes
@@ -0,0 +1,3 @@
1
+ module Dummy
2
+ VERSION = '0.0.1'
3
+ end
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ describe Exceptionally do
4
+ it 'saves report_errors' do
5
+ Exceptionally.report_errors = true
6
+ expect(Exceptionally.report_errors).to eq(true)
7
+
8
+ Exceptionally.report_errors = false
9
+ expect(Exceptionally.report_errors).to eq(false)
10
+ end
11
+ end
@@ -0,0 +1,45 @@
1
+ require 'spec_helper'
2
+
3
+ describe ActionController, :type => :controller do
4
+ controller do
5
+ def index
6
+ raise ArgumentError.new
7
+ end
8
+ end
9
+
10
+ before do
11
+ routes.draw { get 'index' => "anonymous#index" }
12
+ end
13
+
14
+ describe "when a controller raises an error" do
15
+ it 'returns a 500 response when a general error is raised' do
16
+ get :index
17
+ expect(response.status).to eq(500)
18
+ expect(JSON.parse(response.body)['error']).to eq('ArgumentError')
19
+ end
20
+
21
+ it 'returns a custom error message when available' do
22
+ allow(controller).to receive(:index).and_raise(ArgumentError.new('some error'))
23
+
24
+ get :index
25
+ expect(response.status).to eq(500)
26
+ expect(JSON.parse(response.body)['error']).to eq('some error')
27
+ end
28
+
29
+ it 'returns a 404 response when a record is not found' do
30
+ allow(controller).to receive(:index).and_raise(ActiveRecord::RecordNotFound.new)
31
+
32
+ get :index
33
+ expect(response.status).to eq(404)
34
+ expect(JSON.parse(response.body)['error']).to eq('ActiveRecord::RecordNotFound')
35
+ end
36
+
37
+ it 'returns a 403 response when Forbidden' do
38
+ allow(controller).to receive(:index).and_raise(Exceptionally::Forbidden.new)
39
+
40
+ get :index
41
+ expect(response.status).to eq(403)
42
+ expect(JSON.parse(response.body)['error']).to eq('Forbidden')
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,89 @@
1
+ require 'spec_helper'
2
+
3
+ describe ActionController, :type => :controller do
4
+ controller do
5
+ def index
6
+ raise Exceptionally::Error.new
7
+ end
8
+ end
9
+
10
+ before do
11
+ routes.draw { get 'index' => "anonymous#index" }
12
+ end
13
+
14
+ it 'logs 5xx errors' do
15
+ expect(Rails.logger).to receive(:error).with('500 Internal Server Error').once
16
+ expect(Rails.logger).to receive(:error).exactly(2).times
17
+ get :index
18
+ end
19
+
20
+ it 'logs 5xx errors with a custom error message' do
21
+ allow(controller).to receive(:index).and_raise(Exceptionally::BadGateway.new('some custom error'))
22
+
23
+ expect(Rails.logger).to receive(:error).with('502 Bad Gateway: some custom error').once
24
+ expect(Rails.logger).to receive(:error).exactly(2).times
25
+ get :index
26
+ end
27
+
28
+ it 'does not log 4xx errors' do
29
+ allow(controller).to receive(:index).and_raise(Exceptionally::BadRequest.new)
30
+
31
+ expect(Rails.logger).to_not receive(:error)
32
+ get :index
33
+ end
34
+
35
+ it 'calls handler before logging an error when set' do
36
+ temp_var = nil
37
+ Exceptionally::Handler.before_render do |message, status, error, params|
38
+ temp_var = message
39
+ end
40
+
41
+ get :index
42
+ expect(temp_var).to eq('Internal Server Error')
43
+ end
44
+
45
+ it 'does not call handler before logging an error when none is proved' do
46
+ temp_var = nil
47
+
48
+ get :index
49
+ expect(temp_var).to eq(nil)
50
+ end
51
+
52
+ describe 'when only Raven is defined' do
53
+ describe 'and report_errors is true' do
54
+ before do
55
+ Exceptionally.report_errors = true
56
+ end
57
+
58
+ it 'reports errors for a 500 error' do
59
+ expect(Raven).to receive(:capture_exception)
60
+ get :index
61
+ end
62
+
63
+ it 'does not report errors for a 400 error' do
64
+ allow(controller).to receive(:index).and_raise(Exceptionally::BadRequest.new)
65
+
66
+ expect(Raven).to_not receive(:capture_exception)
67
+ get :index
68
+ end
69
+
70
+ it 'does not report errors to Airbrake' do
71
+ expect(Airbrake).to receive(:respond_to?).at_least(:once)
72
+ expect(Airbrake).to_not receive(:notify)
73
+
74
+ get :index
75
+ end
76
+ end
77
+
78
+ describe 'and report_errors is false' do
79
+ before do
80
+ Exceptionally.report_errors = false
81
+ end
82
+
83
+ it 'does not report errors for a 500 error' do
84
+ expect(Raven).to_not receive(:capture_exception)
85
+ get :index
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,26 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+
3
+ ENV['RAILS_ENV'] ||= 'test'
4
+
5
+ require 'rails'
6
+ require 'active_record'
7
+ require 'action_view'
8
+ require 'action_controller'
9
+ require 'nulldb_rspec'
10
+ require 'dummy/config/environment'
11
+ require 'rspec/rails'
12
+
13
+ require 'exceptionally'
14
+
15
+ RSpec.configure do |c|
16
+ c.infer_base_class_for_anonymous_controllers = false
17
+ c.order = 'random'
18
+ end
19
+
20
+ ActiveRecord::Base.establish_connection :adapter => :nulldb
21
+
22
+ class Raven
23
+ def capture_exception(error); end
24
+ end
25
+
26
+ class Airbrake; end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exceptionally
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Neil Gupta
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-10 00:00:00.000000000 Z
11
+ date: 2015-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,6 +30,62 @@ dependencies:
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '5.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: bundler
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: rake
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rspec-rails
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: activerecord-nulldb-adapter
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
33
89
  description: Exceptionally abstracts your exception logic to make raising and returning
34
90
  meaningful errors in Ruby on Rails easier.
35
91
  email: neil@metamorphium.com
@@ -39,47 +95,49 @@ extra_rdoc_files: []
39
95
  files:
40
96
  - MIT-LICENSE
41
97
  - README.md
42
- - Rakefile
43
98
  - lib/exceptionally.rb
44
99
  - lib/exceptionally/controller.rb
45
100
  - lib/exceptionally/exceptions.rb
46
101
  - lib/exceptionally/handler.rb
47
102
  - lib/exceptionally/railtie.rb
48
103
  - lib/exceptionally/version.rb
49
- - lib/tasks/exceptionally_tasks.rake
50
- - test/dummy/README.rdoc
51
- - test/dummy/Rakefile
52
- - test/dummy/app/assets/javascripts/application.js
53
- - test/dummy/app/assets/stylesheets/application.css
54
- - test/dummy/app/controllers/application_controller.rb
55
- - test/dummy/app/helpers/application_helper.rb
56
- - test/dummy/app/views/layouts/application.html.erb
57
- - test/dummy/bin/bundle
58
- - test/dummy/bin/rails
59
- - test/dummy/bin/rake
60
- - test/dummy/config.ru
61
- - test/dummy/config/application.rb
62
- - test/dummy/config/boot.rb
63
- - test/dummy/config/database.yml
64
- - test/dummy/config/environment.rb
65
- - test/dummy/config/environments/development.rb
66
- - test/dummy/config/environments/production.rb
67
- - test/dummy/config/environments/test.rb
68
- - test/dummy/config/initializers/backtrace_silencers.rb
69
- - test/dummy/config/initializers/filter_parameter_logging.rb
70
- - test/dummy/config/initializers/inflections.rb
71
- - test/dummy/config/initializers/mime_types.rb
72
- - test/dummy/config/initializers/secret_token.rb
73
- - test/dummy/config/initializers/session_store.rb
74
- - test/dummy/config/initializers/wrap_parameters.rb
75
- - test/dummy/config/locales/en.yml
76
- - test/dummy/config/routes.rb
77
- - test/dummy/public/404.html
78
- - test/dummy/public/422.html
79
- - test/dummy/public/500.html
80
- - test/dummy/public/favicon.ico
81
- - test/exceptionally_test.rb
82
- - test/test_helper.rb
104
+ - spec/dummy/app/assets/javascripts/application.js
105
+ - spec/dummy/app/assets/stylesheets/application.css
106
+ - spec/dummy/app/controllers/application_controller.rb
107
+ - spec/dummy/app/helpers/application_helper.rb
108
+ - spec/dummy/app/views/layouts/application.html.erb
109
+ - spec/dummy/bin/bundle
110
+ - spec/dummy/bin/rails
111
+ - spec/dummy/bin/rake
112
+ - spec/dummy/config.ru
113
+ - spec/dummy/config/application.rb
114
+ - spec/dummy/config/boot.rb
115
+ - spec/dummy/config/database.yml
116
+ - spec/dummy/config/environment.rb
117
+ - spec/dummy/config/environments/development.rb
118
+ - spec/dummy/config/environments/production.rb
119
+ - spec/dummy/config/environments/test.rb
120
+ - spec/dummy/config/initializers/assets.rb
121
+ - spec/dummy/config/initializers/backtrace_silencers.rb
122
+ - spec/dummy/config/initializers/cookies_serializer.rb
123
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
124
+ - spec/dummy/config/initializers/inflections.rb
125
+ - spec/dummy/config/initializers/mime_types.rb
126
+ - spec/dummy/config/initializers/session_store.rb
127
+ - spec/dummy/config/initializers/wrap_parameters.rb
128
+ - spec/dummy/config/locales/en.yml
129
+ - spec/dummy/config/routes.rb
130
+ - spec/dummy/config/secrets.yml
131
+ - spec/dummy/log/test.log
132
+ - spec/dummy/public/404.html
133
+ - spec/dummy/public/422.html
134
+ - spec/dummy/public/500.html
135
+ - spec/dummy/public/favicon.ico
136
+ - spec/dummy/version.rb
137
+ - spec/exceptionally/config_spec.rb
138
+ - spec/exceptionally/controller_spec.rb
139
+ - spec/exceptionally/handler_spec.rb
140
+ - spec/spec_helper.rb
83
141
  homepage: https://github.com/neilgupta/exceptionally
84
142
  licenses:
85
143
  - MIT
@@ -105,37 +163,41 @@ signing_key:
105
163
  specification_version: 4
106
164
  summary: Exceptionally simple Rails Exception library
107
165
  test_files:
108
- - test/dummy/app/assets/javascripts/application.js
109
- - test/dummy/app/assets/stylesheets/application.css
110
- - test/dummy/app/controllers/application_controller.rb
111
- - test/dummy/app/helpers/application_helper.rb
112
- - test/dummy/app/views/layouts/application.html.erb
113
- - test/dummy/bin/bundle
114
- - test/dummy/bin/rails
115
- - test/dummy/bin/rake
116
- - test/dummy/config/application.rb
117
- - test/dummy/config/boot.rb
118
- - test/dummy/config/database.yml
119
- - test/dummy/config/environment.rb
120
- - test/dummy/config/environments/development.rb
121
- - test/dummy/config/environments/production.rb
122
- - test/dummy/config/environments/test.rb
123
- - test/dummy/config/initializers/backtrace_silencers.rb
124
- - test/dummy/config/initializers/filter_parameter_logging.rb
125
- - test/dummy/config/initializers/inflections.rb
126
- - test/dummy/config/initializers/mime_types.rb
127
- - test/dummy/config/initializers/secret_token.rb
128
- - test/dummy/config/initializers/session_store.rb
129
- - test/dummy/config/initializers/wrap_parameters.rb
130
- - test/dummy/config/locales/en.yml
131
- - test/dummy/config/routes.rb
132
- - test/dummy/config.ru
133
- - test/dummy/public/404.html
134
- - test/dummy/public/422.html
135
- - test/dummy/public/500.html
136
- - test/dummy/public/favicon.ico
137
- - test/dummy/Rakefile
138
- - test/dummy/README.rdoc
139
- - test/exceptionally_test.rb
140
- - test/test_helper.rb
166
+ - spec/dummy/app/assets/javascripts/application.js
167
+ - spec/dummy/app/assets/stylesheets/application.css
168
+ - spec/dummy/app/controllers/application_controller.rb
169
+ - spec/dummy/app/helpers/application_helper.rb
170
+ - spec/dummy/app/views/layouts/application.html.erb
171
+ - spec/dummy/bin/bundle
172
+ - spec/dummy/bin/rails
173
+ - spec/dummy/bin/rake
174
+ - spec/dummy/config/application.rb
175
+ - spec/dummy/config/boot.rb
176
+ - spec/dummy/config/database.yml
177
+ - spec/dummy/config/environment.rb
178
+ - spec/dummy/config/environments/development.rb
179
+ - spec/dummy/config/environments/production.rb
180
+ - spec/dummy/config/environments/test.rb
181
+ - spec/dummy/config/initializers/assets.rb
182
+ - spec/dummy/config/initializers/backtrace_silencers.rb
183
+ - spec/dummy/config/initializers/cookies_serializer.rb
184
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
185
+ - spec/dummy/config/initializers/inflections.rb
186
+ - spec/dummy/config/initializers/mime_types.rb
187
+ - spec/dummy/config/initializers/session_store.rb
188
+ - spec/dummy/config/initializers/wrap_parameters.rb
189
+ - spec/dummy/config/locales/en.yml
190
+ - spec/dummy/config/routes.rb
191
+ - spec/dummy/config/secrets.yml
192
+ - spec/dummy/config.ru
193
+ - spec/dummy/log/test.log
194
+ - spec/dummy/public/404.html
195
+ - spec/dummy/public/422.html
196
+ - spec/dummy/public/500.html
197
+ - spec/dummy/public/favicon.ico
198
+ - spec/dummy/version.rb
199
+ - spec/exceptionally/config_spec.rb
200
+ - spec/exceptionally/controller_spec.rb
201
+ - spec/exceptionally/handler_spec.rb
202
+ - spec/spec_helper.rb
141
203
  has_rdoc: