honeybadger 1.11.2 → 1.12.0.beta2
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.
- checksums.yaml +4 -4
- data/Appraisals +56 -46
- data/CHANGELOG.md +33 -0
- data/Gemfile.lock +1 -1
- data/MIT-LICENSE +2 -1
- data/Rakefile +3 -1
- data/features/standalone.feature +73 -0
- data/features/step_definitions/rack_steps.rb +1 -2
- data/features/step_definitions/standalone_steps.rb +12 -0
- data/features/support/env.rb +2 -0
- data/gemfiles/binding_of_caller.gemfile +8 -0
- data/gemfiles/rails.gemfile +11 -0
- data/gemfiles/standalone.gemfile +7 -0
- data/honeybadger.gemspec +22 -11
- data/lib/honeybadger.rb +15 -9
- data/lib/honeybadger/configuration.rb +9 -4
- data/lib/honeybadger/dependency.rb +65 -0
- data/lib/honeybadger/exception_extensions.rb +35 -0
- data/lib/honeybadger/integrations.rb +4 -0
- data/lib/honeybadger/integrations/delayed_job.rb +20 -0
- data/lib/honeybadger/integrations/delayed_job/plugin.rb +31 -0
- data/lib/honeybadger/integrations/sidekiq.rb +34 -0
- data/lib/honeybadger/notice.rb +48 -11
- data/lib/honeybadger/payload.rb +29 -0
- data/lib/honeybadger/rack.rb +8 -54
- data/lib/honeybadger/rack/error_notifier.rb +60 -0
- data/lib/honeybadger/rack/user_feedback.rb +74 -0
- data/lib/honeybadger/rack/user_informer.rb +28 -0
- data/lib/honeybadger/rails.rb +5 -4
- data/lib/honeybadger/railtie.rb +4 -3
- data/lib/honeybadger/user_feedback.rb +3 -67
- data/lib/honeybadger/user_informer.rb +3 -21
- data/spec/honeybadger/configuration_spec.rb +5 -1
- data/spec/honeybadger/dependency_spec.rb +134 -0
- data/spec/honeybadger/exception_extensions_spec.rb +40 -0
- data/spec/honeybadger/integrations/delayed_job_spec.rb +48 -0
- data/spec/honeybadger/integrations/sidekiq_spec.rb +60 -0
- data/spec/honeybadger/notice_spec.rb +176 -35
- data/spec/honeybadger/payload_spec.rb +27 -0
- data/spec/honeybadger/rails_spec.rb +4 -2
- metadata +24 -13
- data/gemfiles/rack.gemfile.lock +0 -125
- data/gemfiles/rails2.3.gemfile.lock +0 -141
- data/gemfiles/rails3.0.gemfile.lock +0 -193
- data/gemfiles/rails3.1.gemfile.lock +0 -203
- data/gemfiles/rails3.2.gemfile.lock +0 -201
- data/gemfiles/rails4.0.gemfile.lock +0 -197
- data/gemfiles/rails4.1.gemfile.lock +0 -202
- data/gemfiles/rake.gemfile.lock +0 -124
- data/gemfiles/sinatra.gemfile.lock +0 -124
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f13dbb0c4361cea34b1fe5d3f1a85432fc40a8b0
|
4
|
+
data.tar.gz: c7f4632eb5ee4bcfca17a9c81f96b7cd1c033f45
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c3cdc55eb70ec84d95057d366c0813b28b58c300daf3df88226e82f5309aae8e0f4b1b3a37c1b3a07b32760e26aaac768f45d74976f755b99705ff6678d30633
|
7
|
+
data.tar.gz: 59ad35ef1d2d59acbc1ccb711109d96928b470508f2d3f581725959f18b1a160f296eb995e61736695e838a1c3f3b8c80a2bb368698f36fbd3b5e2249a883956
|
data/Appraisals
CHANGED
@@ -1,67 +1,77 @@
|
|
1
|
-
appraise '
|
2
|
-
gem 'rails', '~> 2.3.18'
|
3
|
-
gem 'rake', '0.9.5'
|
1
|
+
appraise 'standalone' do
|
4
2
|
gem 'honeybadger', :path => '../'
|
5
|
-
gem 'capistrano', '~> 2.0'
|
6
3
|
end
|
7
4
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
gem 'capistrano', '~> 2.0'
|
5
|
+
if RUBY_VERSION > '1.9' && RUBY_PLATFORM !~ /java/
|
6
|
+
appraise 'binding_of_caller' do
|
7
|
+
gem 'binding_of_caller'
|
8
|
+
gem 'honeybadger', :path => '../'
|
9
|
+
end
|
14
10
|
end
|
15
11
|
|
16
|
-
appraise '
|
17
|
-
gem '
|
12
|
+
appraise 'rake' do
|
13
|
+
gem 'sinatra'
|
18
14
|
gem 'honeybadger', :path => '../'
|
19
|
-
gem 'better_errors', :require => false
|
20
|
-
gem 'rack-mini-profiler', :require => false
|
21
|
-
gem 'capistrano', '~> 2.0'
|
22
15
|
end
|
23
16
|
|
24
|
-
appraise '
|
25
|
-
gem '
|
17
|
+
appraise 'rack' do
|
18
|
+
gem 'rack'
|
26
19
|
gem 'honeybadger', :path => '../'
|
27
|
-
gem 'better_errors', :require => false
|
28
|
-
gem 'rack-mini-profiler', :require => false
|
29
|
-
gem 'capistrano', '~> 2.0'
|
30
20
|
end
|
31
21
|
|
32
|
-
appraise '
|
33
|
-
gem '
|
22
|
+
appraise 'sinatra' do
|
23
|
+
gem 'sinatra'
|
34
24
|
gem 'honeybadger', :path => '../'
|
35
|
-
gem 'better_errors', :require => false
|
36
|
-
gem 'rack-mini-profiler', :require => false
|
37
|
-
gem 'capistrano', '~> 2.0'
|
38
25
|
end
|
39
26
|
|
40
|
-
appraise '
|
41
|
-
gem 'rails', '~>
|
27
|
+
appraise 'rails2.3' do
|
28
|
+
gem 'rails', '~> 2.3.18'
|
29
|
+
gem 'rake', '0.9.5'
|
42
30
|
gem 'honeybadger', :path => '../'
|
43
|
-
gem 'capistrano', '~>
|
44
|
-
gem 'better_errors', :require => false
|
45
|
-
gem 'rack-mini-profiler', :require => false
|
31
|
+
gem 'capistrano', '~> 2.0'
|
46
32
|
end
|
47
33
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
34
|
+
if RUBY_VERSION > '1.9'
|
35
|
+
appraise 'rails3.0' do
|
36
|
+
gem 'rails', '~> 3.0.17'
|
37
|
+
gem 'honeybadger', :path => '../'
|
38
|
+
gem 'better_errors', :require => false
|
39
|
+
gem 'rack-mini-profiler', '~>0.1.31 ', :require => false
|
40
|
+
gem 'capistrano', '~> 2.0'
|
41
|
+
end
|
53
42
|
|
54
|
-
appraise '
|
55
|
-
|
56
|
-
|
57
|
-
|
43
|
+
appraise 'rails3.1' do
|
44
|
+
gem 'rails', '~> 3.1.12'
|
45
|
+
gem 'honeybadger', :path => '../'
|
46
|
+
gem 'better_errors', :require => false
|
47
|
+
gem 'rack-mini-profiler', :require => false
|
48
|
+
gem 'capistrano', '~> 2.0'
|
49
|
+
end
|
58
50
|
|
59
|
-
appraise '
|
60
|
-
|
61
|
-
|
62
|
-
|
51
|
+
appraise 'rails3.2' do
|
52
|
+
gem 'rails', '~> 3.2.12'
|
53
|
+
gem 'honeybadger', :path => '../'
|
54
|
+
gem 'better_errors', :require => false
|
55
|
+
gem 'rack-mini-profiler', :require => false
|
56
|
+
gem 'capistrano', '~> 2.0'
|
57
|
+
end
|
63
58
|
|
64
|
-
|
65
|
-
|
66
|
-
|
59
|
+
if RUBY_VERSION > '1.9.2'
|
60
|
+
# The latest officially supported Rails release
|
61
|
+
appraise 'rails' do
|
62
|
+
gem 'rails', '~> 4.0.3'
|
63
|
+
gem 'honeybadger', :path => '../'
|
64
|
+
gem 'capistrano', '~> 3.0'
|
65
|
+
gem 'better_errors', :require => false
|
66
|
+
gem 'rack-mini-profiler', :require => false
|
67
|
+
end
|
68
|
+
|
69
|
+
appraise 'rails4.1' do
|
70
|
+
gem 'rails', '~> 4.1.0.beta1'
|
71
|
+
gem 'honeybadger', :path => '../'
|
72
|
+
gem 'capistrano', '~> 3.0'
|
73
|
+
gem 'better_errors', :require => false
|
74
|
+
gem 'rack-mini-profiler', :require => false
|
75
|
+
end
|
76
|
+
end
|
67
77
|
end
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,36 @@
|
|
1
|
+
## Honeybadger 1.12.0 (unreleased) ##
|
2
|
+
|
3
|
+
* Add option to send local_variables when binding_of_caller is
|
4
|
+
installed. In order to enable it, the gem must be present in the
|
5
|
+
project, and `config.send_local_variables` must be `true`.
|
6
|
+
|
7
|
+
*Joshua Wood*
|
8
|
+
|
9
|
+
* Create Honeybadger::Rack namespace and add deprecation warnings for
|
10
|
+
old middleware.
|
11
|
+
|
12
|
+
*Joshua Wood*
|
13
|
+
|
14
|
+
* Support ruby 2.1 with Exception#cause
|
15
|
+
|
16
|
+
*Ravil Bayramgalin*
|
17
|
+
|
18
|
+
* Clean action_dispatch.request.parameters from payload.
|
19
|
+
|
20
|
+
*Joshua Wood*
|
21
|
+
|
22
|
+
* Add support for 3rd-party integrations via dependency injection.
|
23
|
+
|
24
|
+
*Joshua Wood*
|
25
|
+
|
26
|
+
* Delayed Job support
|
27
|
+
|
28
|
+
*Joshua Wood*
|
29
|
+
|
30
|
+
* Add native support for Sidekiq
|
31
|
+
|
32
|
+
*Joshua Wood*
|
33
|
+
|
1
34
|
## Honeybadger 1.11.2 ##
|
2
35
|
|
3
36
|
* Fix Bundler::RubyVersionMismatch error when invoking heroku command
|
data/Gemfile.lock
CHANGED
data/MIT-LICENSE
CHANGED
@@ -1,7 +1,8 @@
|
|
1
|
-
|
1
|
+
Copyright (c) 2012-2013, Honeybadger Industries LLC
|
2
2
|
Portions Copyright (c) 2012 Noah Lorang
|
3
3
|
Portions Copyright (c) 2007-2012, Exceptional DBA Airbrake.io
|
4
4
|
Portions Copyright (c) 2009 Brenton Fletcher (http://i.bloople.net i@bloople.net)
|
5
|
+
Portions Copyright (c) 2014 Charlie Somerville
|
5
6
|
|
6
7
|
The original version of the Honeybadger gem was based on the
|
7
8
|
MIT-licensed Airbrake gem. All code contained herein that is
|
data/Rakefile
CHANGED
@@ -61,7 +61,7 @@ Cucumber::Rake::Task.new(:cucumber) do |t|
|
|
61
61
|
t.fork = true
|
62
62
|
t.cucumber_opts = ['--format', 'progress', '--tags', '~@pending']
|
63
63
|
|
64
|
-
unless ENV['BUNDLE_GEMFILE'] =~ /rails
|
64
|
+
unless ENV['BUNDLE_GEMFILE'] =~ /rails[^2]/
|
65
65
|
t.cucumber_opts << '--tags ~@rails_3'
|
66
66
|
end
|
67
67
|
|
@@ -74,6 +74,8 @@ Cucumber::Rake::Task.new(:cucumber) do |t|
|
|
74
74
|
t.cucumber_opts << 'features/rake.feature'
|
75
75
|
when /sinatra/
|
76
76
|
t.cucumber_opts << 'features/sinatra.feature'
|
77
|
+
else
|
78
|
+
t.cucumber_opts << 'features/standalone.feature'
|
77
79
|
end unless ENV['FEATURE']
|
78
80
|
end
|
79
81
|
|
@@ -0,0 +1,73 @@
|
|
1
|
+
Feature: Use the notifier in a plain Ruby app
|
2
|
+
Scenario: Rescue and exception in a Rack app
|
3
|
+
Given the following Ruby app:
|
4
|
+
"""
|
5
|
+
require 'honeybadger'
|
6
|
+
|
7
|
+
Honeybadger.configure do |config|
|
8
|
+
config.api_key = 'my_api_key'
|
9
|
+
config.logger = Logger.new STDOUT
|
10
|
+
end
|
11
|
+
|
12
|
+
begin
|
13
|
+
fail 'oops!'
|
14
|
+
rescue => e
|
15
|
+
Honeybadger.notify(e)
|
16
|
+
end
|
17
|
+
"""
|
18
|
+
When I execute the file
|
19
|
+
Then I should receive a Honeybadger notification
|
20
|
+
|
21
|
+
Scenario: Dependency injection
|
22
|
+
Given the following Ruby app:
|
23
|
+
"""
|
24
|
+
require 'honeybadger/dependency'
|
25
|
+
|
26
|
+
Honeybadger::Dependency.register do
|
27
|
+
injection { puts 'injected' }
|
28
|
+
end
|
29
|
+
|
30
|
+
require 'honeybadger'
|
31
|
+
|
32
|
+
Honeybadger.configure do |config|
|
33
|
+
config.api_key = 'my_api_key'
|
34
|
+
config.logger = Logger.new STDOUT
|
35
|
+
end
|
36
|
+
|
37
|
+
begin
|
38
|
+
fail 'oops!'
|
39
|
+
rescue => e
|
40
|
+
Honeybadger.notify(e)
|
41
|
+
end
|
42
|
+
"""
|
43
|
+
When I execute the file
|
44
|
+
Then the output should contain "injected"
|
45
|
+
And I should receive a Honeybadger notification
|
46
|
+
|
47
|
+
# TODO: also test 'Then the output should contain "injection failure"' after default
|
48
|
+
# logging is added.
|
49
|
+
Scenario: Dependency injection exception
|
50
|
+
Given the following Ruby app:
|
51
|
+
"""
|
52
|
+
require 'honeybadger/dependency'
|
53
|
+
|
54
|
+
Honeybadger::Dependency.register do
|
55
|
+
injection { fail 'injection failure' }
|
56
|
+
end
|
57
|
+
|
58
|
+
require 'honeybadger'
|
59
|
+
|
60
|
+
Honeybadger.configure do |config|
|
61
|
+
config.api_key = 'my_api_key'
|
62
|
+
config.logger = Logger.new STDOUT
|
63
|
+
end
|
64
|
+
|
65
|
+
begin
|
66
|
+
fail 'oops!'
|
67
|
+
rescue => e
|
68
|
+
Honeybadger.notify(e)
|
69
|
+
end
|
70
|
+
"""
|
71
|
+
When I execute the file
|
72
|
+
Then the output should not contain "injected"
|
73
|
+
And I should receive a Honeybadger notification
|
@@ -3,11 +3,10 @@ Given /^the following Rack app:$/ do |definition|
|
|
3
3
|
end
|
4
4
|
|
5
5
|
When /^I perform a Rack request to "([^\"]*)"$/ do |url|
|
6
|
-
shim_file = File.join(PROJECT_ROOT, 'features', 'support', 'honeybadger_shim.rb.template')
|
7
6
|
request_file = File.join(TEMP_DIR, 'rack_request.rb')
|
8
7
|
File.open(request_file, 'w') do |file|
|
9
8
|
file.puts "require 'rubygems'"
|
10
|
-
file.puts IO.read(
|
9
|
+
file.puts IO.read(SHIM_FILE)
|
11
10
|
file.puts IO.read(RACK_FILE)
|
12
11
|
file.puts "env = Rack::MockRequest.env_for(#{url.inspect})"
|
13
12
|
file.puts "status, headers, body = app.call(env)"
|
@@ -0,0 +1,12 @@
|
|
1
|
+
Given /^the following Ruby app:$/ do |definition|
|
2
|
+
File.open(RUBY_FILE, 'w') do |file|
|
3
|
+
file.puts "require 'rubygems'"
|
4
|
+
file.write(IO.read(SHIM_FILE))
|
5
|
+
file.write(definition)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
When /^I execute the file$/ do
|
10
|
+
step %(I run `ruby #{RUBY_FILE}`)
|
11
|
+
end
|
12
|
+
|
data/features/support/env.rb
CHANGED
@@ -5,6 +5,8 @@ PROJECT_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..', '..'
|
|
5
5
|
TEMP_DIR = File.join(PROJECT_ROOT, 'tmp').freeze
|
6
6
|
LOCAL_RAILS_ROOT = File.join(TEMP_DIR, 'rails_root').freeze
|
7
7
|
RACK_FILE = File.join(TEMP_DIR, 'rack_app.rb').freeze
|
8
|
+
RUBY_FILE = File.join(TEMP_DIR, 'ruby_app.rb').freeze
|
9
|
+
SHIM_FILE = File.join(PROJECT_ROOT, 'features', 'support', 'honeybadger_shim.rb.template')
|
8
10
|
|
9
11
|
Before do
|
10
12
|
FileUtils.rm_rf(LOCAL_RAILS_ROOT)
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "rails", "~> 4.0.3"
|
6
|
+
gem "honeybadger", :path=>"../"
|
7
|
+
gem "capistrano", "~> 3.0"
|
8
|
+
gem "better_errors", :require=>false
|
9
|
+
gem "rack-mini-profiler", :require=>false
|
10
|
+
|
11
|
+
gemspec :path=>"../"
|
data/honeybadger.gemspec
CHANGED
@@ -4,8 +4,8 @@ Gem::Specification.new do |s|
|
|
4
4
|
s.rubygems_version = '1.3.5'
|
5
5
|
|
6
6
|
s.name = 'honeybadger'
|
7
|
-
s.version = '1.
|
8
|
-
s.date = '2014-
|
7
|
+
s.version = '1.12.0.beta2'
|
8
|
+
s.date = '2014-04-01'
|
9
9
|
|
10
10
|
s.summary = 'Error reports you can be happy about.'
|
11
11
|
s.description = 'Make managing application errors a more pleasant experience.'
|
@@ -53,33 +53,29 @@ Gem::Specification.new do |s|
|
|
53
53
|
features/rails.feature
|
54
54
|
features/rake.feature
|
55
55
|
features/sinatra.feature
|
56
|
+
features/standalone.feature
|
56
57
|
features/step_definitions/metal_steps.rb
|
57
58
|
features/step_definitions/rack_steps.rb
|
58
59
|
features/step_definitions/rails_steps.rb
|
59
60
|
features/step_definitions/rake_steps.rb
|
61
|
+
features/step_definitions/standalone_steps.rb
|
60
62
|
features/support/env.rb
|
61
63
|
features/support/honeybadger_failure_shim.rb.template
|
62
64
|
features/support/honeybadger_shim.rb.template
|
63
65
|
features/support/rails.rb
|
64
66
|
features/support/rake/Rakefile
|
67
|
+
gemfiles/binding_of_caller.gemfile
|
65
68
|
gemfiles/rack.gemfile
|
66
|
-
gemfiles/
|
69
|
+
gemfiles/rails.gemfile
|
67
70
|
gemfiles/rails2.3.gemfile
|
68
|
-
gemfiles/rails2.3.gemfile.lock
|
69
71
|
gemfiles/rails3.0.gemfile
|
70
|
-
gemfiles/rails3.0.gemfile.lock
|
71
72
|
gemfiles/rails3.1.gemfile
|
72
|
-
gemfiles/rails3.1.gemfile.lock
|
73
73
|
gemfiles/rails3.2.gemfile
|
74
|
-
gemfiles/rails3.2.gemfile.lock
|
75
74
|
gemfiles/rails4.0.gemfile
|
76
|
-
gemfiles/rails4.0.gemfile.lock
|
77
75
|
gemfiles/rails4.1.gemfile
|
78
|
-
gemfiles/rails4.1.gemfile.lock
|
79
76
|
gemfiles/rake.gemfile
|
80
|
-
gemfiles/rake.gemfile.lock
|
81
77
|
gemfiles/sinatra.gemfile
|
82
|
-
gemfiles/
|
78
|
+
gemfiles/standalone.gemfile
|
83
79
|
generators/honeybadger/honeybadger_generator.rb
|
84
80
|
generators/honeybadger/lib/insert_commands.rb
|
85
81
|
generators/honeybadger/lib/rake_commands.rb
|
@@ -94,12 +90,22 @@ Gem::Specification.new do |s|
|
|
94
90
|
lib/honeybadger/capistrano/legacy.rb
|
95
91
|
lib/honeybadger/capistrano/tasks.rake
|
96
92
|
lib/honeybadger/configuration.rb
|
93
|
+
lib/honeybadger/dependency.rb
|
94
|
+
lib/honeybadger/exception_extensions.rb
|
95
|
+
lib/honeybadger/integrations.rb
|
96
|
+
lib/honeybadger/integrations/delayed_job.rb
|
97
|
+
lib/honeybadger/integrations/delayed_job/plugin.rb
|
98
|
+
lib/honeybadger/integrations/sidekiq.rb
|
97
99
|
lib/honeybadger/monitor.rb
|
98
100
|
lib/honeybadger/monitor/railtie.rb
|
99
101
|
lib/honeybadger/monitor/sender.rb
|
100
102
|
lib/honeybadger/monitor/worker.rb
|
101
103
|
lib/honeybadger/notice.rb
|
104
|
+
lib/honeybadger/payload.rb
|
102
105
|
lib/honeybadger/rack.rb
|
106
|
+
lib/honeybadger/rack/error_notifier.rb
|
107
|
+
lib/honeybadger/rack/user_feedback.rb
|
108
|
+
lib/honeybadger/rack/user_informer.rb
|
103
109
|
lib/honeybadger/rails.rb
|
104
110
|
lib/honeybadger/rails/action_controller_catcher.rb
|
105
111
|
lib/honeybadger/rails/controller_methods.rb
|
@@ -123,10 +129,15 @@ Gem::Specification.new do |s|
|
|
123
129
|
spec/honeybadger/backtrace_spec.rb
|
124
130
|
spec/honeybadger/capistrano_spec.rb
|
125
131
|
spec/honeybadger/configuration_spec.rb
|
132
|
+
spec/honeybadger/dependency_spec.rb
|
133
|
+
spec/honeybadger/exception_extensions_spec.rb
|
134
|
+
spec/honeybadger/integrations/delayed_job_spec.rb
|
135
|
+
spec/honeybadger/integrations/sidekiq_spec.rb
|
126
136
|
spec/honeybadger/logger_spec.rb
|
127
137
|
spec/honeybadger/monitor/worker_spec.rb
|
128
138
|
spec/honeybadger/notice_spec.rb
|
129
139
|
spec/honeybadger/notifier_spec.rb
|
140
|
+
spec/honeybadger/payload_spec.rb
|
130
141
|
spec/honeybadger/rack_spec.rb
|
131
142
|
spec/honeybadger/rails/action_controller_spec.rb
|
132
143
|
spec/honeybadger/rails_spec.rb
|