honeybadger 1.12.0.beta3 → 1.13.0
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/Appraisals +45 -60
- data/CHANGELOG.md +3 -28
- data/Gemfile.lock +1 -1
- data/MIT-LICENSE +1 -2
- data/Rakefile +4 -8
- data/features/step_definitions/rack_steps.rb +2 -1
- data/features/support/env.rb +0 -2
- data/gemfiles/rack.gemfile.lock +125 -0
- data/gemfiles/rails2.3.gemfile.lock +141 -0
- data/gemfiles/rails3.0.gemfile.lock +193 -0
- data/gemfiles/rails3.1.gemfile.lock +203 -0
- data/gemfiles/rails3.2.gemfile.lock +201 -0
- data/gemfiles/rails4.0.gemfile.lock +197 -0
- data/gemfiles/rails4.1.gemfile.lock +202 -0
- data/gemfiles/rake.gemfile +1 -1
- data/gemfiles/rake.gemfile.lock +124 -0
- data/gemfiles/sinatra.gemfile.lock +124 -0
- data/honeybadger.gemspec +11 -27
- data/lib/honeybadger.rb +10 -15
- data/lib/honeybadger/configuration.rb +4 -9
- data/lib/honeybadger/integrations/sidekiq.rb +9 -17
- data/lib/honeybadger/notice.rb +10 -45
- data/lib/honeybadger/rack.rb +54 -8
- data/lib/honeybadger/rails.rb +4 -5
- data/lib/honeybadger/railtie.rb +3 -4
- data/lib/honeybadger/user_feedback.rb +67 -3
- data/lib/honeybadger/user_informer.rb +21 -3
- data/spec/honeybadger/configuration_spec.rb +1 -5
- data/spec/honeybadger/notice_spec.rb +1 -126
- data/spec/honeybadger/rails_spec.rb +2 -4
- metadata +15 -31
- data/features/standalone.feature +0 -73
- data/features/step_definitions/standalone_steps.rb +0 -12
- data/features/step_definitions/thor_steps.rb +0 -4
- data/features/support/test.thor +0 -22
- data/features/thor.feature +0 -5
- data/gemfiles/binding_of_caller.gemfile +0 -8
- data/gemfiles/rails.gemfile +0 -11
- data/gemfiles/standalone.gemfile +0 -7
- data/gemfiles/thor.gemfile +0 -8
- data/lib/honeybadger/dependency.rb +0 -65
- data/lib/honeybadger/exception_extensions.rb +0 -35
- data/lib/honeybadger/integrations.rb +0 -5
- data/lib/honeybadger/integrations/delayed_job.rb +0 -20
- data/lib/honeybadger/integrations/delayed_job/plugin.rb +0 -31
- data/lib/honeybadger/integrations/thor.rb +0 -29
- data/lib/honeybadger/payload.rb +0 -29
- data/lib/honeybadger/rack/error_notifier.rb +0 -60
- data/lib/honeybadger/rack/user_feedback.rb +0 -74
- data/lib/honeybadger/rack/user_informer.rb +0 -28
- data/spec/honeybadger/dependency_spec.rb +0 -134
- data/spec/honeybadger/exception_extensions_spec.rb +0 -40
- data/spec/honeybadger/integrations/delayed_job_spec.rb +0 -48
- data/spec/honeybadger/integrations/sidekiq_spec.rb +0 -60
- data/spec/honeybadger/integrations/thor_spec.rb +0 -29
- data/spec/honeybadger/payload_spec.rb +0 -27
data/lib/honeybadger/rack.rb
CHANGED
@@ -1,12 +1,58 @@
|
|
1
|
-
require 'honeybadger/rack/error_notifier'
|
2
|
-
require 'honeybadger/rack/user_informer'
|
3
|
-
require 'honeybadger/rack/user_feedback'
|
4
|
-
|
5
1
|
module Honeybadger
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
2
|
+
# Middleware for Rack applications. Any errors raised by the upstream
|
3
|
+
# application will be delivered to Honeybadger and re-raised.
|
4
|
+
#
|
5
|
+
# Synopsis:
|
6
|
+
#
|
7
|
+
# require 'rack'
|
8
|
+
# require 'honeybadger'
|
9
|
+
#
|
10
|
+
# Honeybadger.configure do |config|
|
11
|
+
# config.api_key = 'my_api_key'
|
12
|
+
# end
|
13
|
+
#
|
14
|
+
# app = Rack::Builder.app do
|
15
|
+
# run lambda { |env| raise "Rack down" }
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# use Honeybadger::Rack
|
19
|
+
# run app
|
20
|
+
#
|
21
|
+
# Use a standard Honeybadger.configure call to configure your api key.
|
22
|
+
class Rack
|
23
|
+
def initialize(app)
|
24
|
+
@app = app
|
25
|
+
Honeybadger.configuration.framework = "Rack: #{::Rack.release}"
|
26
|
+
end
|
27
|
+
|
28
|
+
def ignored_user_agent?(env)
|
29
|
+
true if Honeybadger.
|
30
|
+
configuration.
|
31
|
+
ignore_user_agent.
|
32
|
+
flatten.
|
33
|
+
any? { |ua| ua === env['HTTP_USER_AGENT'] }
|
34
|
+
end
|
35
|
+
|
36
|
+
def notify_honeybadger(exception,env)
|
37
|
+
Honeybadger.notify_or_ignore(exception, :rack_env => env) unless ignored_user_agent?(env)
|
38
|
+
end
|
39
|
+
|
40
|
+
def call(env)
|
41
|
+
begin
|
42
|
+
response = @app.call(env)
|
43
|
+
rescue Exception => raised
|
44
|
+
env['honeybadger.error_id'] = notify_honeybadger(raised, env)
|
45
|
+
raise
|
46
|
+
ensure
|
47
|
+
Honeybadger.context.clear!
|
48
|
+
end
|
49
|
+
|
50
|
+
framework_exception = env['rack.exception'] || env['sinatra.error']
|
51
|
+
if framework_exception
|
52
|
+
env['honeybadger.error_id'] = notify_honeybadger(framework_exception, env)
|
53
|
+
end
|
54
|
+
|
55
|
+
response
|
10
56
|
end
|
11
57
|
end
|
12
58
|
end
|
data/lib/honeybadger/rails.rb
CHANGED
@@ -18,11 +18,11 @@ module Honeybadger
|
|
18
18
|
|
19
19
|
if defined?(::Rails.configuration) && ::Rails.configuration.respond_to?(:middleware)
|
20
20
|
::Rails.configuration.middleware.insert_after 'ActionController::Failsafe',
|
21
|
-
Honeybadger::Rack
|
21
|
+
Honeybadger::Rack
|
22
22
|
::Rails.configuration.middleware.insert_after 'Rack::Lock',
|
23
|
-
Honeybadger::
|
24
|
-
::Rails.configuration.middleware.insert_after Honeybadger::
|
25
|
-
Honeybadger::
|
23
|
+
Honeybadger::UserInformer
|
24
|
+
::Rails.configuration.middleware.insert_after Honeybadger::UserInformer,
|
25
|
+
Honeybadger::UserFeedback
|
26
26
|
end
|
27
27
|
|
28
28
|
Honeybadger.configure(true) do |config|
|
@@ -34,7 +34,6 @@ module Honeybadger
|
|
34
34
|
|
35
35
|
if defined?(::Rails.configuration) && ::Rails.configuration.respond_to?(:after_initialize)
|
36
36
|
::Rails.configuration.after_initialize do
|
37
|
-
Honeybadger::Dependency.inject!
|
38
37
|
Honeybadger.ping(Honeybadger.configuration)
|
39
38
|
end
|
40
39
|
end
|
data/lib/honeybadger/railtie.rb
CHANGED
@@ -10,9 +10,9 @@ module Honeybadger
|
|
10
10
|
end
|
11
11
|
|
12
12
|
initializer "honeybadger.use_rack_middleware" do |app|
|
13
|
-
app.config.middleware.insert 0, "Honeybadger::
|
14
|
-
app.config.middleware.insert_after "Honeybadger::
|
15
|
-
app.config.middleware.insert_after "Honeybadger::
|
13
|
+
app.config.middleware.insert 0, "Honeybadger::UserInformer"
|
14
|
+
app.config.middleware.insert_after "Honeybadger::UserInformer","Honeybadger::UserFeedback"
|
15
|
+
app.config.middleware.insert_after "Honeybadger::UserFeedback","Honeybadger::Rack"
|
16
16
|
end
|
17
17
|
|
18
18
|
config.after_initialize do
|
@@ -44,7 +44,6 @@ module Honeybadger
|
|
44
44
|
::ActionDispatch::ShowExceptions.send(:include,Honeybadger::Rails::Middleware::ExceptionsCatcher)
|
45
45
|
end
|
46
46
|
|
47
|
-
Honeybadger::Dependency.inject!
|
48
47
|
Honeybadger.ping(Honeybadger.configuration)
|
49
48
|
end
|
50
49
|
end
|
@@ -1,8 +1,72 @@
|
|
1
|
+
require 'erb'
|
2
|
+
require 'uri'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'i18n'
|
6
|
+
rescue LoadError
|
7
|
+
module Honeybadger
|
8
|
+
module I18n
|
9
|
+
def self.t(key, options={})
|
10
|
+
options[:default]
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
1
16
|
module Honeybadger
|
2
|
-
class UserFeedback
|
17
|
+
class UserFeedback
|
3
18
|
def initialize(app)
|
4
|
-
|
5
|
-
|
19
|
+
@app = app
|
20
|
+
end
|
21
|
+
|
22
|
+
def call(env)
|
23
|
+
status, headers, body = @app.call(env)
|
24
|
+
if enabled? && env['honeybadger.error_id'] && form = render_form(env['honeybadger.error_id'])
|
25
|
+
new_body = []
|
26
|
+
body.each do |chunk|
|
27
|
+
new_body << chunk.gsub("<!-- HONEYBADGER FEEDBACK -->", form)
|
28
|
+
end
|
29
|
+
body.close if body.respond_to?(:close)
|
30
|
+
headers['Content-Length'] = new_body.reduce(0) { |a,e| a += e.bytesize }.to_s
|
31
|
+
body = new_body
|
32
|
+
end
|
33
|
+
[status, headers, body]
|
34
|
+
end
|
35
|
+
|
36
|
+
def config
|
37
|
+
Honeybadger.configuration
|
38
|
+
end
|
39
|
+
|
40
|
+
def enabled?
|
41
|
+
config.feedback && config.features['feedback']
|
42
|
+
end
|
43
|
+
|
44
|
+
def action
|
45
|
+
URI.parse("#{config.protocol}://#{config.host}:#{config.port}/v1/feedback/").to_s
|
46
|
+
rescue URI::InvalidURIError
|
47
|
+
nil
|
48
|
+
end
|
49
|
+
|
50
|
+
def render_form(error_id, action = action)
|
51
|
+
return unless action
|
52
|
+
ERB.new(@template ||= File.read(template_file)).result(binding)
|
53
|
+
end
|
54
|
+
|
55
|
+
def custom_template_file
|
56
|
+
@custom_template_file ||= config.project_root &&
|
57
|
+
File.join(config.project_root, 'lib', 'honeybadger', 'templates', 'feedback_form.erb')
|
58
|
+
end
|
59
|
+
|
60
|
+
def custom_template_file?
|
61
|
+
custom_template_file && File.exists?(custom_template_file)
|
62
|
+
end
|
63
|
+
|
64
|
+
def template_file
|
65
|
+
if custom_template_file?
|
66
|
+
custom_template_file
|
67
|
+
else
|
68
|
+
File.expand_path('../templates/feedback_form.erb', __FILE__)
|
69
|
+
end
|
6
70
|
end
|
7
71
|
end
|
8
72
|
end
|
@@ -1,8 +1,26 @@
|
|
1
1
|
module Honeybadger
|
2
|
-
class UserInformer
|
2
|
+
class UserInformer
|
3
3
|
def initialize(app)
|
4
|
-
|
5
|
-
|
4
|
+
@app = app
|
5
|
+
end
|
6
|
+
|
7
|
+
def replacement(with)
|
8
|
+
Honeybadger.configuration.user_information.gsub(/\{\{\s*error_id\s*\}\}/, with.to_s)
|
9
|
+
end
|
10
|
+
|
11
|
+
def call(env)
|
12
|
+
status, headers, body = @app.call(env)
|
13
|
+
if env['honeybadger.error_id'] && Honeybadger.configuration.user_information
|
14
|
+
new_body = []
|
15
|
+
replace = replacement(env['honeybadger.error_id'])
|
16
|
+
body.each do |chunk|
|
17
|
+
new_body << chunk.gsub("<!-- HONEYBADGER ERROR -->", replace)
|
18
|
+
end
|
19
|
+
body.close if body.respond_to?(:close)
|
20
|
+
headers['Content-Length'] = new_body.reduce(0) { |a,e| a += e.bytesize }.to_s
|
21
|
+
body = new_body
|
22
|
+
end
|
23
|
+
[status, headers, body]
|
6
24
|
end
|
7
25
|
end
|
8
26
|
end
|
@@ -30,13 +30,11 @@ describe Honeybadger::Configuration do
|
|
30
30
|
assert_config_default :source_extract_radius, 2
|
31
31
|
assert_config_default :async, nil
|
32
32
|
assert_config_default :send_request_session, true
|
33
|
-
assert_config_default :send_local_variables, false
|
34
33
|
assert_config_default :debug, false
|
35
34
|
assert_config_default :log_exception_on_send_failure, false
|
36
35
|
assert_config_default :fingerprint, nil
|
37
36
|
assert_config_default :hostname, Socket.gethostname
|
38
37
|
assert_config_default :feedback, true
|
39
|
-
assert_config_default :features, {'notices' => true, 'local_variables' => true}
|
40
38
|
end
|
41
39
|
|
42
40
|
it "configures async as Proc" do
|
@@ -118,7 +116,6 @@ describe Honeybadger::Configuration do
|
|
118
116
|
assert_config_overridable :send_request_session
|
119
117
|
assert_config_overridable :debug
|
120
118
|
assert_config_overridable :hostname
|
121
|
-
assert_config_overridable :features
|
122
119
|
assert_config_overridable :metrics
|
123
120
|
assert_config_overridable :feedback
|
124
121
|
assert_config_overridable :log_exception_on_send_failure
|
@@ -137,8 +134,7 @@ describe Honeybadger::Configuration do
|
|
137
134
|
:notifier_version, :params_filters, :project_root, :port, :protocol,
|
138
135
|
:proxy_host, :proxy_pass, :proxy_port, :proxy_user, :secure,
|
139
136
|
:source_extract_radius, :async, :send_request_session, :debug,
|
140
|
-
:fingerprint, :hostname, :
|
141
|
-
:log_exception_on_send_failure].each do |option|
|
137
|
+
:fingerprint, :hostname, :metrics, :feedback, :log_exception_on_send_failure].each do |option|
|
142
138
|
expect(hash[option]).to eq config[option]
|
143
139
|
end
|
144
140
|
end
|
@@ -76,17 +76,6 @@ describe Honeybadger::Notice do
|
|
76
76
|
expect(notice.url).to eq url
|
77
77
|
end
|
78
78
|
|
79
|
-
it "initializes default features" do
|
80
|
-
notice = build_notice(:features => nil)
|
81
|
-
expect(notice.features).to eq({})
|
82
|
-
end
|
83
|
-
|
84
|
-
it "accepts features" do
|
85
|
-
features = {'foo' => 'bar'}
|
86
|
-
notice = build_notice(:features => features)
|
87
|
-
expect(notice.features).to eq features
|
88
|
-
end
|
89
|
-
|
90
79
|
it "sets the host name" do
|
91
80
|
notice = build_notice
|
92
81
|
expect(notice.hostname).to eq hostname
|
@@ -568,12 +557,7 @@ describe Honeybadger::Notice do
|
|
568
557
|
expect(notice.session_data).to eq session_data
|
569
558
|
end
|
570
559
|
|
571
|
-
|
572
|
-
it "parses params which are malformed in Rack >= 1.3" do
|
573
|
-
rack_env = Rack::MockRequest.env_for('http://www.example.com/explode', :method => 'POST', :input => 'foo=bar&bar=baz%')
|
574
|
-
expect { Honeybadger::Notice.new(:rack_env => rack_env) }.not_to raise_error
|
575
|
-
end
|
576
|
-
else
|
560
|
+
unless Gem::Version.new(Rack.release) < Gem::Version.new('1.2')
|
577
561
|
it "fails gracefully when Rack params cannot be parsed" do
|
578
562
|
rack_env = Rack::MockRequest.env_for('http://www.example.com/explode', :method => 'POST', :input => 'foo=bar&bar=baz%')
|
579
563
|
notice = Honeybadger::Notice.new(:rack_env => rack_env)
|
@@ -610,115 +594,6 @@ describe Honeybadger::Notice do
|
|
610
594
|
expect(notice.error_message).to eq 'Something very specific went wrong.'
|
611
595
|
end
|
612
596
|
|
613
|
-
describe "#to_json" do
|
614
|
-
context "when local variables are not found" do
|
615
|
-
it "sends local_variables in request payload" do
|
616
|
-
notice = build_notice
|
617
|
-
hash = {'foo' => 'bar'}
|
618
|
-
notice.stub(:local_variables).and_return(hash)
|
619
|
-
expect(JSON.parse(notice.to_json)['request']['local_variables']).to eq(hash)
|
620
|
-
end
|
621
|
-
end
|
622
|
-
|
623
|
-
context "when local variables are found" do
|
624
|
-
it "sends local_variables in request payload" do
|
625
|
-
notice = build_notice
|
626
|
-
expect(JSON.parse(notice.to_json)['request']['local_variables']).to eq({})
|
627
|
-
end
|
628
|
-
end
|
629
|
-
end
|
630
|
-
|
631
|
-
describe "#local_variables" do
|
632
|
-
let(:notice) { build_notice(:exception => @exception, :configuration => configuration) }
|
633
|
-
let(:configuration) { configure }
|
634
|
-
|
635
|
-
before do
|
636
|
-
foo = 'bar'
|
637
|
-
begin
|
638
|
-
fail 'oops'
|
639
|
-
rescue
|
640
|
-
@exception = $!
|
641
|
-
end
|
642
|
-
end
|
643
|
-
|
644
|
-
context "when binding_of_caller is not installed", :unless => defined?(BindingOfCaller) do
|
645
|
-
context "when local variables aren't enabled" do
|
646
|
-
it "does not attempt to find them" do
|
647
|
-
expect(notice.local_variables).to eq({})
|
648
|
-
end
|
649
|
-
end
|
650
|
-
|
651
|
-
context "when local variables are enabled" do
|
652
|
-
before do
|
653
|
-
configuration.send_local_variables = true
|
654
|
-
end
|
655
|
-
|
656
|
-
it "does not attempt to find them" do
|
657
|
-
expect(notice.local_variables).to eq({})
|
658
|
-
end
|
659
|
-
end
|
660
|
-
end
|
661
|
-
|
662
|
-
context "when binding_of_caller is installed", :if => defined?(BindingOfCaller) do
|
663
|
-
context "when local variables aren't enabled" do
|
664
|
-
it "does not attempt to find them" do
|
665
|
-
expect(notice.local_variables).to eq({})
|
666
|
-
end
|
667
|
-
end
|
668
|
-
|
669
|
-
context "when local variables are enabled" do
|
670
|
-
before do
|
671
|
-
configuration.send_local_variables = true
|
672
|
-
end
|
673
|
-
|
674
|
-
it "finds the local variables from first frame of trace" do
|
675
|
-
expect(notice.local_variables[:foo]).to eq 'bar'
|
676
|
-
end
|
677
|
-
|
678
|
-
context "when the feature is disabled" do
|
679
|
-
before do
|
680
|
-
configuration.features['local_variables'] = false
|
681
|
-
end
|
682
|
-
|
683
|
-
it "assigns empty Hash" do
|
684
|
-
expect(notice.local_variables).to eq({})
|
685
|
-
end
|
686
|
-
end
|
687
|
-
|
688
|
-
context "with an application trace" do
|
689
|
-
before do
|
690
|
-
@exception.__honeybadger_bindings_stack.unshift(double('Binding', :eval => nil))
|
691
|
-
configuration.project_root = File.dirname(__FILE__)
|
692
|
-
end
|
693
|
-
|
694
|
-
it "finds the local variables from first frame of application trace" do
|
695
|
-
expect(notice.local_variables[:foo]).to eq 'bar'
|
696
|
-
end
|
697
|
-
|
698
|
-
context "and project_root is a Pathname" do
|
699
|
-
before do
|
700
|
-
configuration.project_root = Pathname.new(File.dirname(__FILE__))
|
701
|
-
end
|
702
|
-
|
703
|
-
specify { expect { notice }.not_to raise_error }
|
704
|
-
end
|
705
|
-
end
|
706
|
-
|
707
|
-
context "without an exception" do
|
708
|
-
it "assigns empty Hash" do
|
709
|
-
expect(build_notice(:exception => nil).local_variables).to eq({})
|
710
|
-
end
|
711
|
-
end
|
712
|
-
|
713
|
-
context "without bindings" do
|
714
|
-
it "assigns empty Hash" do
|
715
|
-
expect(build_notice(:exception => RuntimeError.new).local_variables).to eq({})
|
716
|
-
end
|
717
|
-
end
|
718
|
-
end
|
719
|
-
end
|
720
|
-
end
|
721
|
-
|
722
597
|
def assert_accepts_exception_attribute(attribute, args = {}, &block)
|
723
598
|
exception = build_exception
|
724
599
|
block ||= lambda { exception.send(attribute) }
|
@@ -1,9 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
+
require 'honeybadger/rails'
|
2
3
|
|
3
|
-
|
4
|
-
require 'honeybadger/rails' unless defined?(ActionController::Base)
|
5
|
-
|
6
|
-
describe 'Honeybadger::Rails', :unless => defined?(ActionController::Base) do
|
4
|
+
describe Honeybadger::Rails do
|
7
5
|
include DefinesConstants
|
8
6
|
|
9
7
|
it "triggers use of Rails' logger if logger isn't set and Rails' logger exists" do
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: honeybadger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
5
|
-
prerelease:
|
4
|
+
version: 1.13.0
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Joshua Wood
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-04-
|
12
|
+
date: 2014-04-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
@@ -256,33 +256,33 @@ files:
|
|
256
256
|
- features/rails.feature
|
257
257
|
- features/rake.feature
|
258
258
|
- features/sinatra.feature
|
259
|
-
- features/standalone.feature
|
260
259
|
- features/step_definitions/metal_steps.rb
|
261
260
|
- features/step_definitions/rack_steps.rb
|
262
261
|
- features/step_definitions/rails_steps.rb
|
263
262
|
- features/step_definitions/rake_steps.rb
|
264
|
-
- features/step_definitions/standalone_steps.rb
|
265
|
-
- features/step_definitions/thor_steps.rb
|
266
263
|
- features/support/env.rb
|
267
264
|
- features/support/honeybadger_failure_shim.rb.template
|
268
265
|
- features/support/honeybadger_shim.rb.template
|
269
266
|
- features/support/rails.rb
|
270
267
|
- features/support/rake/Rakefile
|
271
|
-
- features/support/test.thor
|
272
|
-
- features/thor.feature
|
273
|
-
- gemfiles/binding_of_caller.gemfile
|
274
268
|
- gemfiles/rack.gemfile
|
275
|
-
- gemfiles/
|
269
|
+
- gemfiles/rack.gemfile.lock
|
276
270
|
- gemfiles/rails2.3.gemfile
|
271
|
+
- gemfiles/rails2.3.gemfile.lock
|
277
272
|
- gemfiles/rails3.0.gemfile
|
273
|
+
- gemfiles/rails3.0.gemfile.lock
|
278
274
|
- gemfiles/rails3.1.gemfile
|
275
|
+
- gemfiles/rails3.1.gemfile.lock
|
279
276
|
- gemfiles/rails3.2.gemfile
|
277
|
+
- gemfiles/rails3.2.gemfile.lock
|
280
278
|
- gemfiles/rails4.0.gemfile
|
279
|
+
- gemfiles/rails4.0.gemfile.lock
|
281
280
|
- gemfiles/rails4.1.gemfile
|
281
|
+
- gemfiles/rails4.1.gemfile.lock
|
282
282
|
- gemfiles/rake.gemfile
|
283
|
+
- gemfiles/rake.gemfile.lock
|
283
284
|
- gemfiles/sinatra.gemfile
|
284
|
-
- gemfiles/
|
285
|
-
- gemfiles/thor.gemfile
|
285
|
+
- gemfiles/sinatra.gemfile.lock
|
286
286
|
- generators/honeybadger/honeybadger_generator.rb
|
287
287
|
- generators/honeybadger/lib/insert_commands.rb
|
288
288
|
- generators/honeybadger/lib/rake_commands.rb
|
@@ -297,23 +297,13 @@ files:
|
|
297
297
|
- lib/honeybadger/capistrano/legacy.rb
|
298
298
|
- lib/honeybadger/capistrano/tasks.rake
|
299
299
|
- lib/honeybadger/configuration.rb
|
300
|
-
- lib/honeybadger/dependency.rb
|
301
|
-
- lib/honeybadger/exception_extensions.rb
|
302
|
-
- lib/honeybadger/integrations.rb
|
303
|
-
- lib/honeybadger/integrations/delayed_job.rb
|
304
|
-
- lib/honeybadger/integrations/delayed_job/plugin.rb
|
305
300
|
- lib/honeybadger/integrations/sidekiq.rb
|
306
|
-
- lib/honeybadger/integrations/thor.rb
|
307
301
|
- lib/honeybadger/monitor.rb
|
308
302
|
- lib/honeybadger/monitor/railtie.rb
|
309
303
|
- lib/honeybadger/monitor/sender.rb
|
310
304
|
- lib/honeybadger/monitor/worker.rb
|
311
305
|
- lib/honeybadger/notice.rb
|
312
|
-
- lib/honeybadger/payload.rb
|
313
306
|
- lib/honeybadger/rack.rb
|
314
|
-
- lib/honeybadger/rack/error_notifier.rb
|
315
|
-
- lib/honeybadger/rack/user_feedback.rb
|
316
|
-
- lib/honeybadger/rack/user_informer.rb
|
317
307
|
- lib/honeybadger/rails.rb
|
318
308
|
- lib/honeybadger/rails/action_controller_catcher.rb
|
319
309
|
- lib/honeybadger/rails/controller_methods.rb
|
@@ -337,16 +327,10 @@ files:
|
|
337
327
|
- spec/honeybadger/backtrace_spec.rb
|
338
328
|
- spec/honeybadger/capistrano_spec.rb
|
339
329
|
- spec/honeybadger/configuration_spec.rb
|
340
|
-
- spec/honeybadger/dependency_spec.rb
|
341
|
-
- spec/honeybadger/exception_extensions_spec.rb
|
342
|
-
- spec/honeybadger/integrations/delayed_job_spec.rb
|
343
|
-
- spec/honeybadger/integrations/sidekiq_spec.rb
|
344
|
-
- spec/honeybadger/integrations/thor_spec.rb
|
345
330
|
- spec/honeybadger/logger_spec.rb
|
346
331
|
- spec/honeybadger/monitor/worker_spec.rb
|
347
332
|
- spec/honeybadger/notice_spec.rb
|
348
333
|
- spec/honeybadger/notifier_spec.rb
|
349
|
-
- spec/honeybadger/payload_spec.rb
|
350
334
|
- spec/honeybadger/rack_spec.rb
|
351
335
|
- spec/honeybadger/rails/action_controller_spec.rb
|
352
336
|
- spec/honeybadger/rails_spec.rb
|
@@ -377,13 +361,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
377
361
|
version: '0'
|
378
362
|
segments:
|
379
363
|
- 0
|
380
|
-
hash: -
|
364
|
+
hash: -2545053771295497767
|
381
365
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
382
366
|
none: false
|
383
367
|
requirements:
|
384
|
-
- - ! '
|
368
|
+
- - ! '>='
|
385
369
|
- !ruby/object:Gem::Version
|
386
|
-
version:
|
370
|
+
version: '0'
|
387
371
|
requirements: []
|
388
372
|
rubyforge_project:
|
389
373
|
rubygems_version: 1.8.23
|