hoptoad_notifier 2.3.0 → 2.3.2
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/CHANGELOG +16 -0
- data/README.rdoc +1 -1
- data/lib/hoptoad_notifier/notice.rb +10 -1
- data/lib/hoptoad_notifier/rails/controller_methods.rb +3 -1
- data/lib/hoptoad_notifier/version.rb +1 -1
- data/test/catcher_test.rb +7 -2
- data/test/notice_test.rb +5 -1
- metadata +21 -4
data/CHANGELOG
CHANGED
@@ -1,3 +1,18 @@
|
|
1
|
+
Version 2.3.2 - 2010-07-06
|
2
|
+
===============================================================================
|
3
|
+
|
4
|
+
Josh Clayton(1):
|
5
|
+
Handle instances when Rack's action_dispach.parameter_filter is nil
|
6
|
+
|
7
|
+
|
8
|
+
Version 2.3.1 - 2010-07-02
|
9
|
+
===============================================================================
|
10
|
+
|
11
|
+
Jason Morrison (2):
|
12
|
+
Use the Rails 3 params filters when available
|
13
|
+
Filter session hash using Hoptoad config.params_filters, in addition to params
|
14
|
+
|
15
|
+
|
1
16
|
Version 2.3.0 - 2010-06-24
|
2
17
|
===============================================================================
|
3
18
|
|
@@ -159,3 +174,4 @@ Nick Quaranto (3):
|
|
159
174
|
|
160
175
|
|
161
176
|
|
177
|
+
|
data/README.rdoc
CHANGED
@@ -342,7 +342,7 @@ To replace sensitive information sent to the Hoptoad service with [FILTERED] use
|
|
342
342
|
end
|
343
343
|
|
344
344
|
Note that, when rescuing exceptions within an ActionController method,
|
345
|
-
hoptoad_notifier will reuse filters specified by #
|
345
|
+
hoptoad_notifier will reuse filters specified by #filter_parameter_logging.
|
346
346
|
|
347
347
|
== Testing
|
348
348
|
|
@@ -95,6 +95,7 @@ module HoptoadNotifier
|
|
95
95
|
"#{exception.class.name}: #{exception.message}"
|
96
96
|
end
|
97
97
|
|
98
|
+
also_use_rack_params_filters
|
98
99
|
find_session_data
|
99
100
|
clean_params
|
100
101
|
end
|
@@ -249,6 +250,7 @@ module HoptoadNotifier
|
|
249
250
|
end
|
250
251
|
if session_data
|
251
252
|
clean_unserializable_data_from(:session_data)
|
253
|
+
filter(session_data)
|
252
254
|
end
|
253
255
|
end
|
254
256
|
|
@@ -266,7 +268,7 @@ module HoptoadNotifier
|
|
266
268
|
|
267
269
|
def filter_key?(key)
|
268
270
|
params_filters.any? do |filter|
|
269
|
-
key.to_s.include?(filter)
|
271
|
+
key.to_s.include?(filter.to_s)
|
270
272
|
end
|
271
273
|
end
|
272
274
|
|
@@ -314,5 +316,12 @@ module HoptoadNotifier
|
|
314
316
|
def rack_session
|
315
317
|
args[:rack_env]['rack.session'] if args[:rack_env]
|
316
318
|
end
|
319
|
+
|
320
|
+
def also_use_rack_params_filters
|
321
|
+
if args[:rack_env]
|
322
|
+
self.params_filters += rack_request.env["action_dispatch.parameter_filter"] || []
|
323
|
+
end
|
324
|
+
end
|
325
|
+
|
317
326
|
end
|
318
327
|
end
|
@@ -19,7 +19,7 @@ module HoptoadNotifier
|
|
19
19
|
|
20
20
|
def hoptoad_request_data
|
21
21
|
{ :parameters => hoptoad_filter_if_filtering(params.to_hash),
|
22
|
-
:session_data => hoptoad_session_data,
|
22
|
+
:session_data => hoptoad_filter_if_filtering(hoptoad_session_data),
|
23
23
|
:controller => params[:controller],
|
24
24
|
:action => params[:action],
|
25
25
|
:url => hoptoad_request_url,
|
@@ -27,6 +27,8 @@ module HoptoadNotifier
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def hoptoad_filter_if_filtering(hash)
|
30
|
+
return hash if ! hash.is_a?(Hash)
|
31
|
+
|
30
32
|
if respond_to?(:filter_parameters)
|
31
33
|
filter_parameters(hash) rescue hash
|
32
34
|
else
|
data/test/catcher_test.rb
CHANGED
@@ -239,10 +239,12 @@ class ActionControllerCatcherTest < Test::Unit::TestCase
|
|
239
239
|
assert_sent_request_info_for controller.request
|
240
240
|
end
|
241
241
|
|
242
|
-
should "use standard rails logging filters on params and env" do
|
242
|
+
should "use standard rails logging filters on params and session and env" do
|
243
243
|
filtered_params = { "abc" => "123",
|
244
244
|
"def" => "456",
|
245
245
|
"ghi" => "[FILTERED]" }
|
246
|
+
filtered_session = { "abc" => "123",
|
247
|
+
"ghi" => "[FILTERED]" }
|
246
248
|
ENV['ghi'] = 'abc'
|
247
249
|
filtered_env = { 'ghi' => '[FILTERED]' }
|
248
250
|
filtered_cgi = { 'REQUEST_METHOD' => '[FILTERED]' }
|
@@ -250,9 +252,12 @@ class ActionControllerCatcherTest < Test::Unit::TestCase
|
|
250
252
|
process_action_with_automatic_notification(:filters => [:ghi, :request_method],
|
251
253
|
:params => { "abc" => "123",
|
252
254
|
"def" => "456",
|
253
|
-
"ghi" => "789" }
|
255
|
+
"ghi" => "789" },
|
256
|
+
:session => { "abc" => "123",
|
257
|
+
"ghi" => "789" })
|
254
258
|
assert_sent_hash filtered_params, '/notice/request/params'
|
255
259
|
assert_sent_hash filtered_cgi, '/notice/request/cgi-data'
|
260
|
+
assert_sent_hash filtered_session, '/notice/request/session'
|
256
261
|
end
|
257
262
|
|
258
263
|
context "for a local error with development lookup enabled" do
|
data/test/notice_test.rb
CHANGED
@@ -164,6 +164,10 @@ class NoticeTest < Test::Unit::TestCase
|
|
164
164
|
assert_filters_hash(:cgi_data)
|
165
165
|
end
|
166
166
|
|
167
|
+
should "filter session" do
|
168
|
+
assert_filters_hash(:session_data)
|
169
|
+
end
|
170
|
+
|
167
171
|
context "a Notice turned into XML" do
|
168
172
|
setup do
|
169
173
|
HoptoadNotifier.configure do |config|
|
@@ -423,7 +427,7 @@ class NoticeTest < Test::Unit::TestCase
|
|
423
427
|
end
|
424
428
|
|
425
429
|
def assert_filters_hash(attribute)
|
426
|
-
filters =
|
430
|
+
filters = ["abc", :def]
|
427
431
|
original = { 'abc' => "123", 'def' => "456", 'ghi' => "789", 'nested' => { 'abc' => '100' } }
|
428
432
|
filtered = { 'abc' => "[FILTERED]",
|
429
433
|
'def' => "[FILTERED]",
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hoptoad_notifier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 7
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 2
|
7
8
|
- 3
|
8
|
-
-
|
9
|
-
version: 2.3.
|
9
|
+
- 2
|
10
|
+
version: 2.3.2
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- thoughtbot, inc
|
@@ -14,16 +15,18 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-06
|
18
|
+
date: 2010-07-06 00:00:00 -04:00
|
18
19
|
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: activesupport
|
22
23
|
prerelease: false
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
24
26
|
requirements:
|
25
27
|
- - ">="
|
26
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
27
30
|
segments:
|
28
31
|
- 0
|
29
32
|
version: "0"
|
@@ -33,9 +36,11 @@ dependencies:
|
|
33
36
|
name: activerecord
|
34
37
|
prerelease: false
|
35
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
36
40
|
requirements:
|
37
41
|
- - ">="
|
38
42
|
- !ruby/object:Gem::Version
|
43
|
+
hash: 3
|
39
44
|
segments:
|
40
45
|
- 0
|
41
46
|
version: "0"
|
@@ -45,9 +50,11 @@ dependencies:
|
|
45
50
|
name: actionpack
|
46
51
|
prerelease: false
|
47
52
|
requirement: &id003 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
48
54
|
requirements:
|
49
55
|
- - ">="
|
50
56
|
- !ruby/object:Gem::Version
|
57
|
+
hash: 3
|
51
58
|
segments:
|
52
59
|
- 0
|
53
60
|
version: "0"
|
@@ -57,9 +64,11 @@ dependencies:
|
|
57
64
|
name: jferris-mocha
|
58
65
|
prerelease: false
|
59
66
|
requirement: &id004 !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
60
68
|
requirements:
|
61
69
|
- - ">="
|
62
70
|
- !ruby/object:Gem::Version
|
71
|
+
hash: 3
|
63
72
|
segments:
|
64
73
|
- 0
|
65
74
|
version: "0"
|
@@ -69,9 +78,11 @@ dependencies:
|
|
69
78
|
name: nokogiri
|
70
79
|
prerelease: false
|
71
80
|
requirement: &id005 !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
83
|
- - ">="
|
74
84
|
- !ruby/object:Gem::Version
|
85
|
+
hash: 3
|
75
86
|
segments:
|
76
87
|
- 0
|
77
88
|
version: "0"
|
@@ -81,9 +92,11 @@ dependencies:
|
|
81
92
|
name: shoulda
|
82
93
|
prerelease: false
|
83
94
|
requirement: &id006 !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
84
96
|
requirements:
|
85
97
|
- - ">="
|
86
98
|
- !ruby/object:Gem::Version
|
99
|
+
hash: 3
|
87
100
|
segments:
|
88
101
|
- 0
|
89
102
|
version: "0"
|
@@ -154,23 +167,27 @@ rdoc_options:
|
|
154
167
|
require_paths:
|
155
168
|
- lib
|
156
169
|
required_ruby_version: !ruby/object:Gem::Requirement
|
170
|
+
none: false
|
157
171
|
requirements:
|
158
172
|
- - ">="
|
159
173
|
- !ruby/object:Gem::Version
|
174
|
+
hash: 3
|
160
175
|
segments:
|
161
176
|
- 0
|
162
177
|
version: "0"
|
163
178
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
179
|
+
none: false
|
164
180
|
requirements:
|
165
181
|
- - ">="
|
166
182
|
- !ruby/object:Gem::Version
|
183
|
+
hash: 3
|
167
184
|
segments:
|
168
185
|
- 0
|
169
186
|
version: "0"
|
170
187
|
requirements: []
|
171
188
|
|
172
189
|
rubyforge_project:
|
173
|
-
rubygems_version: 1.3.
|
190
|
+
rubygems_version: 1.3.7
|
174
191
|
signing_key:
|
175
192
|
specification_version: 3
|
176
193
|
summary: Send your application errors to our hosted service and reclaim your inbox.
|