honeybadger 1.5.0 → 1.6.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 +25 -1
- data/CHANGELOG.md +47 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +7 -8
- data/MIT-LICENSE +1 -1
- data/README.md +117 -6
- data/Rakefile +15 -0
- data/features/rack.feature +2 -2
- data/features/rails.feature +79 -15
- data/features/step_definitions/metal_steps.rb +4 -4
- data/features/step_definitions/rack_steps.rb +0 -4
- data/features/step_definitions/rails_steps.rb +49 -32
- data/features/support/honeybadger_failure_shim.rb.template +5 -0
- data/features/support/rails.rb +17 -5
- data/gemfiles/rack.gemfile +8 -0
- data/gemfiles/rack.gemfile.lock +92 -0
- data/gemfiles/rails2.3.gemfile +1 -1
- data/gemfiles/rails2.3.gemfile.lock +6 -2
- data/gemfiles/rails3.0.gemfile +2 -1
- data/gemfiles/rails3.0.gemfile.lock +12 -3
- data/gemfiles/rails3.1.gemfile +2 -1
- data/gemfiles/rails3.1.gemfile.lock +12 -3
- data/gemfiles/rails3.2.gemfile +3 -2
- data/gemfiles/rails3.2.gemfile.lock +45 -36
- data/gemfiles/rails4.gemfile +9 -0
- data/gemfiles/rails4.gemfile.lock +174 -0
- data/gemfiles/rake.gemfile +8 -0
- data/gemfiles/rake.gemfile.lock +91 -0
- data/gemfiles/sinatra.gemfile +8 -0
- data/gemfiles/sinatra.gemfile.lock +91 -0
- data/generators/honeybadger/honeybadger_generator.rb +5 -5
- data/honeybadger.gemspec +12 -3
- data/lib/honeybadger.rb +7 -14
- data/lib/honeybadger/configuration.rb +10 -1
- data/lib/honeybadger/notice.rb +38 -20
- data/lib/honeybadger/rack.rb +0 -1
- data/lib/honeybadger/rails/controller_methods.rb +5 -4
- data/lib/honeybadger/rails3_tasks.rb +16 -4
- data/lib/honeybadger/sender.rb +10 -19
- data/lib/honeybadger/shared_tasks.rb +2 -3
- data/lib/honeybadger/tasks.rb +16 -9
- data/lib/honeybadger_tasks.rb +2 -3
- data/lib/rails/generators/honeybadger/honeybadger_generator.rb +5 -5
- data/test/test_helper.rb +2 -7
- data/test/unit/backtrace_test.rb +19 -19
- data/test/unit/configuration_test.rb +11 -5
- data/test/unit/notice_test.rb +21 -3
- data/test/unit/rails/action_controller_catcher_test.rb +250 -241
- data/test/unit/sender_test.rb +22 -2
- metadata +13 -19
@@ -0,0 +1,91 @@
|
|
1
|
+
PATH
|
2
|
+
remote: /Users/josh/code/honeybadger-ruby
|
3
|
+
specs:
|
4
|
+
honeybadger (1.5.0)
|
5
|
+
json
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
appraisal (0.5.1)
|
11
|
+
bundler
|
12
|
+
rake
|
13
|
+
aruba (0.5.1)
|
14
|
+
childprocess (~> 0.3.6)
|
15
|
+
cucumber (>= 1.1.1)
|
16
|
+
rspec-expectations (>= 2.7.0)
|
17
|
+
bourne (1.3.0)
|
18
|
+
mocha (= 0.13.0)
|
19
|
+
builder (3.1.4)
|
20
|
+
capistrano (2.14.1)
|
21
|
+
highline
|
22
|
+
net-scp (>= 1.0.0)
|
23
|
+
net-sftp (>= 2.0.0)
|
24
|
+
net-ssh (>= 2.0.14)
|
25
|
+
net-ssh-gateway (>= 1.1.0)
|
26
|
+
childprocess (0.3.6)
|
27
|
+
ffi (~> 1.0, >= 1.0.6)
|
28
|
+
cucumber (1.2.1)
|
29
|
+
builder (>= 2.1.2)
|
30
|
+
diff-lcs (>= 1.1.3)
|
31
|
+
gherkin (~> 2.11.0)
|
32
|
+
json (>= 1.4.6)
|
33
|
+
diff-lcs (1.1.3)
|
34
|
+
fakeweb (1.3.0)
|
35
|
+
ffi (1.3.1)
|
36
|
+
ffi (1.3.1-java)
|
37
|
+
gherkin (2.11.5)
|
38
|
+
json (>= 1.4.6)
|
39
|
+
gherkin (2.11.5-java)
|
40
|
+
json (>= 1.4.6)
|
41
|
+
highline (1.6.15)
|
42
|
+
json (1.7.6)
|
43
|
+
json (1.7.6-java)
|
44
|
+
metaclass (0.0.1)
|
45
|
+
mocha (0.13.0)
|
46
|
+
metaclass (~> 0.0.1)
|
47
|
+
net-scp (1.0.4)
|
48
|
+
net-ssh (>= 1.99.1)
|
49
|
+
net-sftp (2.0.5)
|
50
|
+
net-ssh (>= 2.0.9)
|
51
|
+
net-ssh (2.6.3)
|
52
|
+
net-ssh-gateway (1.1.0)
|
53
|
+
net-ssh (>= 1.99.1)
|
54
|
+
rack (1.4.5)
|
55
|
+
rack-protection (1.3.2)
|
56
|
+
rack
|
57
|
+
rake (10.0.3)
|
58
|
+
rspec (2.12.0)
|
59
|
+
rspec-core (~> 2.12.0)
|
60
|
+
rspec-expectations (~> 2.12.0)
|
61
|
+
rspec-mocks (~> 2.12.0)
|
62
|
+
rspec-core (2.12.2)
|
63
|
+
rspec-expectations (2.12.1)
|
64
|
+
diff-lcs (~> 1.1.3)
|
65
|
+
rspec-mocks (2.12.2)
|
66
|
+
sham_rack (1.3.4)
|
67
|
+
rack
|
68
|
+
shoulda (2.11.3)
|
69
|
+
sinatra (1.3.3)
|
70
|
+
rack (~> 1.3, >= 1.3.6)
|
71
|
+
rack-protection (~> 1.2)
|
72
|
+
tilt (~> 1.3, >= 1.3.3)
|
73
|
+
tilt (1.3.3)
|
74
|
+
|
75
|
+
PLATFORMS
|
76
|
+
java
|
77
|
+
ruby
|
78
|
+
|
79
|
+
DEPENDENCIES
|
80
|
+
appraisal
|
81
|
+
aruba
|
82
|
+
bourne (>= 1.0)
|
83
|
+
capistrano
|
84
|
+
cucumber (~> 1.2.1)
|
85
|
+
fakeweb (~> 1.3.0)
|
86
|
+
honeybadger!
|
87
|
+
rake
|
88
|
+
rspec (~> 2.12.0)
|
89
|
+
sham_rack (~> 1.3.0)
|
90
|
+
shoulda (~> 2.11.3)
|
91
|
+
sinatra
|
@@ -0,0 +1,91 @@
|
|
1
|
+
PATH
|
2
|
+
remote: /Users/josh/code/honeybadger-ruby
|
3
|
+
specs:
|
4
|
+
honeybadger (1.5.0)
|
5
|
+
json
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
appraisal (0.5.1)
|
11
|
+
bundler
|
12
|
+
rake
|
13
|
+
aruba (0.5.1)
|
14
|
+
childprocess (~> 0.3.6)
|
15
|
+
cucumber (>= 1.1.1)
|
16
|
+
rspec-expectations (>= 2.7.0)
|
17
|
+
bourne (1.3.0)
|
18
|
+
mocha (= 0.13.0)
|
19
|
+
builder (3.1.4)
|
20
|
+
capistrano (2.14.1)
|
21
|
+
highline
|
22
|
+
net-scp (>= 1.0.0)
|
23
|
+
net-sftp (>= 2.0.0)
|
24
|
+
net-ssh (>= 2.0.14)
|
25
|
+
net-ssh-gateway (>= 1.1.0)
|
26
|
+
childprocess (0.3.6)
|
27
|
+
ffi (~> 1.0, >= 1.0.6)
|
28
|
+
cucumber (1.2.1)
|
29
|
+
builder (>= 2.1.2)
|
30
|
+
diff-lcs (>= 1.1.3)
|
31
|
+
gherkin (~> 2.11.0)
|
32
|
+
json (>= 1.4.6)
|
33
|
+
diff-lcs (1.1.3)
|
34
|
+
fakeweb (1.3.0)
|
35
|
+
ffi (1.3.1)
|
36
|
+
ffi (1.3.1-java)
|
37
|
+
gherkin (2.11.5)
|
38
|
+
json (>= 1.4.6)
|
39
|
+
gherkin (2.11.5-java)
|
40
|
+
json (>= 1.4.6)
|
41
|
+
highline (1.6.15)
|
42
|
+
json (1.7.6)
|
43
|
+
json (1.7.6-java)
|
44
|
+
metaclass (0.0.1)
|
45
|
+
mocha (0.13.0)
|
46
|
+
metaclass (~> 0.0.1)
|
47
|
+
net-scp (1.0.4)
|
48
|
+
net-ssh (>= 1.99.1)
|
49
|
+
net-sftp (2.0.5)
|
50
|
+
net-ssh (>= 2.0.9)
|
51
|
+
net-ssh (2.6.3)
|
52
|
+
net-ssh-gateway (1.1.0)
|
53
|
+
net-ssh (>= 1.99.1)
|
54
|
+
rack (1.4.5)
|
55
|
+
rack-protection (1.3.2)
|
56
|
+
rack
|
57
|
+
rake (10.0.3)
|
58
|
+
rspec (2.12.0)
|
59
|
+
rspec-core (~> 2.12.0)
|
60
|
+
rspec-expectations (~> 2.12.0)
|
61
|
+
rspec-mocks (~> 2.12.0)
|
62
|
+
rspec-core (2.12.2)
|
63
|
+
rspec-expectations (2.12.1)
|
64
|
+
diff-lcs (~> 1.1.3)
|
65
|
+
rspec-mocks (2.12.2)
|
66
|
+
sham_rack (1.3.4)
|
67
|
+
rack
|
68
|
+
shoulda (2.11.3)
|
69
|
+
sinatra (1.3.3)
|
70
|
+
rack (~> 1.3, >= 1.3.6)
|
71
|
+
rack-protection (~> 1.2)
|
72
|
+
tilt (~> 1.3, >= 1.3.3)
|
73
|
+
tilt (1.3.3)
|
74
|
+
|
75
|
+
PLATFORMS
|
76
|
+
java
|
77
|
+
ruby
|
78
|
+
|
79
|
+
DEPENDENCIES
|
80
|
+
appraisal
|
81
|
+
aruba
|
82
|
+
bourne (>= 1.0)
|
83
|
+
capistrano
|
84
|
+
cucumber (~> 1.2.1)
|
85
|
+
fakeweb (~> 1.3.0)
|
86
|
+
honeybadger!
|
87
|
+
rake
|
88
|
+
rspec (~> 2.12.0)
|
89
|
+
sham_rack (~> 1.3.0)
|
90
|
+
shoulda (~> 2.11.3)
|
91
|
+
sinatra
|
@@ -49,15 +49,15 @@ class HoneybadgerGenerator < Rails::Generator::Base
|
|
49
49
|
def determine_api_key
|
50
50
|
puts "Attempting to determine your API Key from Heroku..."
|
51
51
|
ENV['HONEYBADGER_API_KEY'] = heroku_api_key
|
52
|
-
if ENV['HONEYBADGER_API_KEY']
|
52
|
+
if ENV['HONEYBADGER_API_KEY'] =~ /\S/
|
53
|
+
puts "... Done."
|
54
|
+
puts "Heroku's Honeybadger API Key is '#{ENV['HONEYBADGER_API_KEY']}'"
|
55
|
+
else
|
53
56
|
puts "... Failed."
|
54
57
|
puts "WARNING: We were unable to detect the Honeybadger API Key from your Heroku environment."
|
55
58
|
puts "Your Heroku application environment may not be configured correctly."
|
56
59
|
puts "Have you configured multiple Heroku apps? Try using the '--app [app name]' flag." unless options[:app]
|
57
60
|
exit 1
|
58
|
-
else
|
59
|
-
puts "... Done."
|
60
|
-
puts "Heroku's Honeybadger API Key is '#{ENV['HONEYBADGER_API_KEY']}'"
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
@@ -67,7 +67,7 @@ class HoneybadgerGenerator < Rails::Generator::Base
|
|
67
67
|
end
|
68
68
|
|
69
69
|
def heroku_api_key
|
70
|
-
heroku_var("HONEYBADGER_API_KEY",options[:app]).split.find {|x| x
|
70
|
+
heroku_var("HONEYBADGER_API_KEY",options[:app]).split.find {|x| x =~ /\S/ }
|
71
71
|
end
|
72
72
|
|
73
73
|
def heroku?
|
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 = '2013-
|
7
|
+
s.version = '1.6.0'
|
8
|
+
s.date = '2013-03-12'
|
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.'
|
@@ -20,7 +20,6 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.extra_rdoc_files = %w[README.md MIT-LICENSE]
|
21
21
|
|
22
22
|
s.add_dependency('json')
|
23
|
-
s.add_dependency('activesupport')
|
24
23
|
|
25
24
|
s.add_development_dependency('cucumber', '~> 1.2.1')
|
26
25
|
s.add_development_dependency('rspec', '~> 2.12.0')
|
@@ -40,6 +39,7 @@ Gem::Specification.new do |s|
|
|
40
39
|
# = MANIFEST =
|
41
40
|
s.files = %w[
|
42
41
|
Appraisals
|
42
|
+
CHANGELOG.md
|
43
43
|
Gemfile
|
44
44
|
Gemfile.lock
|
45
45
|
Guardfile
|
@@ -56,9 +56,12 @@ Gem::Specification.new do |s|
|
|
56
56
|
features/step_definitions/rails_steps.rb
|
57
57
|
features/step_definitions/rake_steps.rb
|
58
58
|
features/support/env.rb
|
59
|
+
features/support/honeybadger_failure_shim.rb.template
|
59
60
|
features/support/honeybadger_shim.rb.template
|
60
61
|
features/support/rails.rb
|
61
62
|
features/support/rake/Rakefile
|
63
|
+
gemfiles/rack.gemfile
|
64
|
+
gemfiles/rack.gemfile.lock
|
62
65
|
gemfiles/rails2.3.gemfile
|
63
66
|
gemfiles/rails2.3.gemfile.lock
|
64
67
|
gemfiles/rails3.0.gemfile
|
@@ -67,6 +70,12 @@ Gem::Specification.new do |s|
|
|
67
70
|
gemfiles/rails3.1.gemfile.lock
|
68
71
|
gemfiles/rails3.2.gemfile
|
69
72
|
gemfiles/rails3.2.gemfile.lock
|
73
|
+
gemfiles/rails4.gemfile
|
74
|
+
gemfiles/rails4.gemfile.lock
|
75
|
+
gemfiles/rake.gemfile
|
76
|
+
gemfiles/rake.gemfile.lock
|
77
|
+
gemfiles/sinatra.gemfile
|
78
|
+
gemfiles/sinatra.gemfile.lock
|
70
79
|
generators/honeybadger/honeybadger_generator.rb
|
71
80
|
generators/honeybadger/lib/insert_commands.rb
|
72
81
|
generators/honeybadger/lib/rake_commands.rb
|
data/lib/honeybadger.rb
CHANGED
@@ -1,14 +1,7 @@
|
|
1
1
|
require 'net/http'
|
2
2
|
require 'net/https'
|
3
3
|
require 'json'
|
4
|
-
|
5
|
-
begin
|
6
|
-
require 'active_support'
|
7
|
-
require 'active_support/core_ext'
|
8
|
-
rescue LoadError
|
9
|
-
require 'activesupport'
|
10
|
-
require 'activesupport/core_ext'
|
11
|
-
end
|
4
|
+
require 'logger'
|
12
5
|
|
13
6
|
require 'honeybadger/configuration'
|
14
7
|
require 'honeybadger/backtrace'
|
@@ -19,7 +12,7 @@ require 'honeybadger/sender'
|
|
19
12
|
require 'honeybadger/railtie' if defined?(Rails::Railtie)
|
20
13
|
|
21
14
|
module Honeybadger
|
22
|
-
VERSION = '1.
|
15
|
+
VERSION = '1.6.0'
|
23
16
|
LOG_PREFIX = "** [Honeybadger] "
|
24
17
|
|
25
18
|
HEADERS = {
|
@@ -38,7 +31,7 @@ module Honeybadger
|
|
38
31
|
|
39
32
|
# Tell the log that the Notifier is good to go
|
40
33
|
def report_ready
|
41
|
-
write_verbose_log("Notifier #{VERSION} ready to catch errors")
|
34
|
+
write_verbose_log("Notifier #{VERSION} ready to catch errors", :info)
|
42
35
|
end
|
43
36
|
|
44
37
|
# Prints out the environment info to the log for debugging help
|
@@ -59,8 +52,8 @@ module Honeybadger
|
|
59
52
|
end
|
60
53
|
|
61
54
|
# Writes out the given message to the #logger
|
62
|
-
def write_verbose_log(message)
|
63
|
-
logger.
|
55
|
+
def write_verbose_log(message, level = Honeybadger.configuration.debug ? :info : :debug)
|
56
|
+
logger.send(level, LOG_PREFIX + message) if logger
|
64
57
|
end
|
65
58
|
|
66
59
|
# Look for the Rails logger currently defined
|
@@ -128,8 +121,8 @@ module Honeybadger
|
|
128
121
|
result[:environment_name] = 'production'
|
129
122
|
|
130
123
|
unless notice.backtrace.lines.empty?
|
131
|
-
result[:file] = notice.backtrace.lines.
|
132
|
-
result[:line_number] = notice.backtrace.lines.
|
124
|
+
result[:file] = notice.backtrace.lines[0].file
|
125
|
+
result[:line_number] = notice.backtrace.lines[0].number
|
133
126
|
end
|
134
127
|
|
135
128
|
result
|
@@ -5,7 +5,8 @@ module Honeybadger
|
|
5
5
|
:ignore_user_agent, :notifier_name, :notifier_url, :notifier_version,
|
6
6
|
:params_filters, :project_root, :port, :protocol, :proxy_host, :proxy_pass,
|
7
7
|
:proxy_port, :proxy_user, :secure, :use_system_ssl_cert_chain, :framework,
|
8
|
-
:user_information, :rescue_rake_exceptions, :source_extract_radius
|
8
|
+
:user_information, :rescue_rake_exceptions, :source_extract_radius,
|
9
|
+
:send_request_session, :debug].freeze
|
9
10
|
|
10
11
|
# The API key for your project, found on the project edit form.
|
11
12
|
attr_accessor :api_key
|
@@ -91,6 +92,12 @@ module Honeybadger
|
|
91
92
|
# The radius around trace line to include in source excerpt
|
92
93
|
attr_accessor :source_extract_radius
|
93
94
|
|
95
|
+
# +true+ to send session data, +false+ to exclude
|
96
|
+
attr_accessor :send_request_session
|
97
|
+
|
98
|
+
# +true+ to log extra debug info, +false+ to suppress
|
99
|
+
attr_accessor :debug
|
100
|
+
|
94
101
|
# A Proc object used to send notices asynchronously
|
95
102
|
attr_writer :async
|
96
103
|
|
@@ -145,6 +152,8 @@ module Honeybadger
|
|
145
152
|
@user_information = 'Honeybadger Error {{error_id}}'
|
146
153
|
@rescue_rake_exceptions = nil
|
147
154
|
@source_extract_radius = 2
|
155
|
+
@send_request_session = true
|
156
|
+
@debug = false
|
148
157
|
end
|
149
158
|
|
150
159
|
# Public: Takes a block and adds it to the list of backtrace filters. When
|
data/lib/honeybadger/notice.rb
CHANGED
@@ -26,6 +26,9 @@ module Honeybadger
|
|
26
26
|
# The message from the exception, or a general description of the error
|
27
27
|
attr_reader :error_message
|
28
28
|
|
29
|
+
# See Configuration#send_request_session
|
30
|
+
attr_reader :send_request_session
|
31
|
+
|
29
32
|
# See Configuration#backtrace_filters
|
30
33
|
attr_reader :backtrace_filters
|
31
34
|
|
@@ -107,6 +110,8 @@ module Honeybadger
|
|
107
110
|
self.source_extract_radius = args[:source_extract_radius] || 2
|
108
111
|
self.source_extract = extract_source_from_backtrace
|
109
112
|
|
113
|
+
self.send_request_session = args[:send_request_session].nil? ? true : args[:send_request_session]
|
114
|
+
|
110
115
|
also_use_rack_params_filters
|
111
116
|
find_session_data
|
112
117
|
clean_params
|
@@ -129,7 +134,8 @@ module Honeybadger
|
|
129
134
|
:notifier => {
|
130
135
|
:name => notifier_name,
|
131
136
|
:url => notifier_url,
|
132
|
-
:version => notifier_version
|
137
|
+
:version => notifier_version,
|
138
|
+
:language => 'ruby'
|
133
139
|
},
|
134
140
|
:error => {
|
135
141
|
:class => error_class,
|
@@ -161,9 +167,28 @@ module Honeybadger
|
|
161
167
|
as_json.to_json(*a)
|
162
168
|
end
|
163
169
|
|
164
|
-
# Determines if
|
170
|
+
# Public: Determines if error class should be ignored
|
171
|
+
#
|
172
|
+
# ignored_class_name - The name of the ignored class. May be a
|
173
|
+
# string or regexp (optional)
|
174
|
+
#
|
175
|
+
# Returns true/false with an argument, otherwise a Proc object
|
176
|
+
def ignore_by_class?(ignored_class = nil)
|
177
|
+
@ignore_by_class ||= Proc.new do |ignored_class|
|
178
|
+
case error_class
|
179
|
+
when (ignored_class.respond_to?(:name) ? ignored_class.name : ignored_class)
|
180
|
+
true
|
181
|
+
else
|
182
|
+
exception && ignored_class.is_a?(Class) && exception.class < ignored_class
|
183
|
+
end
|
184
|
+
end
|
185
|
+
|
186
|
+
ignored_class ? @ignore_by_class.call(ignored_class) : @ignore_by_class
|
187
|
+
end
|
188
|
+
|
189
|
+
# Public: Determines if this notice should be ignored
|
165
190
|
def ignore?
|
166
|
-
|
191
|
+
ignore.any?(&ignore_by_class?) ||
|
167
192
|
ignore_by_filters.any? {|filter| filter.call(self) }
|
168
193
|
end
|
169
194
|
|
@@ -192,7 +217,7 @@ module Honeybadger
|
|
192
217
|
:session_data, :project_root, :url, :ignore, :ignore_by_filters,
|
193
218
|
:notifier_name, :notifier_url, :notifier_version, :component, :action,
|
194
219
|
:cgi_data, :environment_name, :hostname, :context, :source_extract,
|
195
|
-
:source_extract_radius
|
220
|
+
:source_extract_radius, :send_request_session
|
196
221
|
|
197
222
|
# Private: Arguments given in the initializer
|
198
223
|
attr_accessor :args
|
@@ -308,8 +333,10 @@ module Honeybadger
|
|
308
333
|
end
|
309
334
|
|
310
335
|
def find_session_data
|
311
|
-
|
312
|
-
|
336
|
+
if send_request_session
|
337
|
+
self.session_data = args[:session_data] || args[:session] || rack_session || {}
|
338
|
+
self.session_data = session_data[:data] if session_data[:data]
|
339
|
+
end
|
313
340
|
end
|
314
341
|
|
315
342
|
def set_context
|
@@ -318,18 +345,6 @@ module Honeybadger
|
|
318
345
|
self.context = nil if context.empty?
|
319
346
|
end
|
320
347
|
|
321
|
-
# Private: Converts the mixed class instances and class names into just names
|
322
|
-
# TODO: move this into Configuration or another class
|
323
|
-
def ignored_class_names
|
324
|
-
ignore.collect do |string_or_class|
|
325
|
-
if string_or_class.respond_to?(:name)
|
326
|
-
string_or_class.name
|
327
|
-
else
|
328
|
-
string_or_class
|
329
|
-
end
|
330
|
-
end
|
331
|
-
end
|
332
|
-
|
333
348
|
def rack_env(method)
|
334
349
|
rack_request.send(method) if rack_request
|
335
350
|
end
|
@@ -348,10 +363,13 @@ module Honeybadger
|
|
348
363
|
args[:rack_env]['rack.session'] if args[:rack_env]
|
349
364
|
end
|
350
365
|
|
366
|
+
# Private: (Rails 3+) Adds params filters to filter list
|
367
|
+
#
|
368
|
+
# Returns nothing
|
351
369
|
def also_use_rack_params_filters
|
352
|
-
if
|
370
|
+
if cgi_data
|
353
371
|
@params_filters ||= []
|
354
|
-
@params_filters +=
|
372
|
+
@params_filters += cgi_data['action_dispatch.parameter_filter'] || []
|
355
373
|
end
|
356
374
|
end
|
357
375
|
|