rollbar 0.12.3 → 0.12.5
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/CHANGELOG.md +6 -0
- data/lib/rollbar.rb +5 -0
- data/lib/rollbar/delayed_job.rb +6 -12
- data/lib/rollbar/request_data_extractor.rb +9 -3
- data/lib/rollbar/version.rb +1 -1
- data/spec/controllers/home_controller_spec.rb +26 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 23c9d47e5d49503a01978ee4d8e4fa00816522de
|
4
|
+
data.tar.gz: fecba94515d4ed5a804d735d73b54dcdb048edd3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5cbab0b59a0cc48c1798c976d3891068a8ce43ed5c3b2419323adb7cd11f79fadf14577448f86890f08a5358284ed123211f585e4c08c3af95a66e835414db17
|
7
|
+
data.tar.gz: 022d97884a1ff339520f7492ce22fedc77536a710588b47ba2cf37a75e6646fb08d515a2edfeee5eac94040c6afd1a8c5fb3e360d14f2e8d215f1f3228414e74
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
**0.12.5**
|
4
|
+
- Fixed SIGSEGV with the delayed_job plugin and Ruby 2.1.0
|
5
|
+
|
6
|
+
**0.12.4**
|
7
|
+
- Record controller context (controller#action) in reported items
|
8
|
+
|
3
9
|
**0.12.3**
|
4
10
|
- Change rollbar_request_store middleware to only grab required person data properties by using rollbar_person_data
|
5
11
|
|
data/lib/rollbar.rb
CHANGED
@@ -79,8 +79,13 @@ module Rollbar
|
|
79
79
|
|
80
80
|
data = exception_data(exception, level ? level : filtered_level(exception))
|
81
81
|
if request_data
|
82
|
+
if request_data[:route]
|
83
|
+
data[:context] = request_data[:route][:controller] + '#' + request_data[:route][:action]
|
84
|
+
end
|
85
|
+
|
82
86
|
request_data[:env].reject!{|k, v| v.is_a?(IO) } if request_data[:env]
|
83
87
|
data[:request] = request_data
|
88
|
+
|
84
89
|
end
|
85
90
|
data[:person] = person_data if person_data
|
86
91
|
|
data/lib/rollbar/delayed_job.rb
CHANGED
@@ -3,19 +3,13 @@
|
|
3
3
|
module Delayed
|
4
4
|
module Plugins
|
5
5
|
class Rollbar < Plugin
|
6
|
-
module ReportErrors
|
7
|
-
def error(job, error)
|
8
|
-
# send the job object as the 'request data'
|
9
|
-
::Rollbar.report_exception(error, job)
|
10
|
-
super if defined?(super)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
6
|
callbacks do |lifecycle|
|
15
|
-
lifecycle.
|
16
|
-
|
17
|
-
|
18
|
-
|
7
|
+
lifecycle.around(:invoke_job) do |job, *args, &block|
|
8
|
+
begin
|
9
|
+
block.call(job, *args)
|
10
|
+
rescue Exception => e
|
11
|
+
::Rollbar.report_exception(e, job)
|
12
|
+
end
|
19
13
|
end
|
20
14
|
end
|
21
15
|
end
|
@@ -25,6 +25,7 @@ module Rollbar
|
|
25
25
|
post_params = rollbar_filtered_params(sensitive_params, rollbar_post_params(rack_req))
|
26
26
|
cookies = rollbar_filtered_params(sensitive_params, rollbar_request_cookies(rack_req))
|
27
27
|
session = rollbar_filtered_params(sensitive_params, env['rack.session.options'])
|
28
|
+
route_params = rollbar_filtered_params(sensitive_params, rollbar_route_params(env))
|
28
29
|
|
29
30
|
params = request_params.merge(get_params).merge(post_params)
|
30
31
|
|
@@ -35,7 +36,8 @@ module Rollbar
|
|
35
36
|
:headers => rollbar_headers(env),
|
36
37
|
:cookies => cookies,
|
37
38
|
:session => session,
|
38
|
-
:method => rollbar_request_method(env)
|
39
|
+
:method => rollbar_request_method(env),
|
40
|
+
:route => route_params
|
39
41
|
}
|
40
42
|
end
|
41
43
|
|
@@ -93,12 +95,16 @@ module Rollbar
|
|
93
95
|
end
|
94
96
|
|
95
97
|
def rollbar_request_params(env)
|
98
|
+
env['action_dispatch.request.parameters'] || {}
|
99
|
+
end
|
100
|
+
|
101
|
+
def rollbar_route_params(env)
|
96
102
|
route = ::Rails.application.routes.recognize_path(env['PATH_INFO']) rescue {}
|
97
103
|
{
|
98
104
|
:controller => route[:controller],
|
99
105
|
:action => route[:action],
|
100
|
-
:format => route[:format]
|
101
|
-
}
|
106
|
+
:format => route[:format]
|
107
|
+
}
|
102
108
|
end
|
103
109
|
|
104
110
|
def rollbar_request_cookies(rack_req)
|
data/lib/rollbar/version.rb
CHANGED
@@ -49,6 +49,7 @@ describe HomeController do
|
|
49
49
|
data.should have_key(:headers)
|
50
50
|
data.should have_key(:session)
|
51
51
|
data.should have_key(:method)
|
52
|
+
data.should have_key(:route)
|
52
53
|
end
|
53
54
|
|
54
55
|
it "should build empty person data when no one is logged-in" do
|
@@ -205,6 +206,31 @@ describe HomeController do
|
|
205
206
|
controller.send(:rollbar_request_data)[:user_ip].should == '0.0.0.0'
|
206
207
|
end
|
207
208
|
end
|
209
|
+
|
210
|
+
context "rollbar_route_params" do
|
211
|
+
it "should save route params in request[:route]" do
|
212
|
+
route = controller.send(:rollbar_request_data)[:route]
|
213
|
+
|
214
|
+
route.should have_key(:controller)
|
215
|
+
route.should have_key(:action)
|
216
|
+
route.should have_key(:format)
|
217
|
+
|
218
|
+
route[:controller].should == 'home'
|
219
|
+
route[:action].should == 'index'
|
220
|
+
end
|
221
|
+
|
222
|
+
it "should save controller and action in the payload body" do
|
223
|
+
post 'report_exception'
|
224
|
+
|
225
|
+
route = controller.send(:rollbar_request_data)[:route]
|
226
|
+
|
227
|
+
route[:controller].should == 'home'
|
228
|
+
route[:action].should == 'report_exception'
|
229
|
+
|
230
|
+
Rollbar.last_report.should_not be_nil
|
231
|
+
Rollbar.last_report[:context].should == 'home#report_exception'
|
232
|
+
end
|
233
|
+
end
|
208
234
|
|
209
235
|
end
|
210
236
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rollbar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Rue
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-01-
|
11
|
+
date: 2014-01-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|