File tree Expand file tree Collapse file tree 2 files changed +9
-3
lines changed Expand file tree Collapse file tree 2 files changed +9
-3
lines changed Original file line number Diff line number Diff line change 1
1
module Resque
2
2
# Methods used by various classes in Resque.
3
3
module Helpers
4
+ class DecodeException < StandardError ; end
5
+
4
6
# Direct access to the Redis instance.
5
7
def redis
6
8
Resque . redis
@@ -23,12 +25,14 @@ def decode(object)
23
25
if defined? Yajl
24
26
begin
25
27
Yajl ::Parser . parse ( object , :check_utf8 => false )
26
- rescue Yajl ::ParseError
28
+ rescue Yajl ::ParseError => e
29
+ raise DecodeException , e
27
30
end
28
31
else
29
32
begin
30
33
JSON . parse ( object )
31
- rescue JSON ::ParserError
34
+ rescue JSON ::ParserError => e
35
+ raise DecodeException , e
32
36
end
33
37
end
34
38
end
Original file line number Diff line number Diff line change 233
233
end
234
234
235
235
test "decode bad json" do
236
- assert_nil Resque . decode ( "{\" error\" :\" Module not found \\ u002\" }" )
236
+ assert_raises Resque ::Helpers ::DecodeException do
237
+ Resque . decode ( "{\" error\" :\" Module not found \\ u002\" }" )
238
+ end
237
239
end
238
240
end
You can’t perform that action at this time.
0 commit comments