From 20f5c3e579cffeb3e9394cfca1326e03f23d2ad7 Mon Sep 17 00:00:00 2001 From: Nate Berkopec Date: Fri, 21 Nov 2014 11:12:38 -0500 Subject: [PATCH] Fix encoding uncommon types --- lib/raven/okjson.rb | 2 +- spec/raven/okjson_spec.rb | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/raven/okjson.rb b/lib/raven/okjson.rb index dc0fcef09..77e928d72 100644 --- a/lib/raven/okjson.rb +++ b/lib/raven/okjson.rb @@ -81,7 +81,7 @@ def valenc(x) when false then "false" when nil then "null" else - raise Error, "cannot encode #{x.class}: #{x.inspect}" + strenc((x.inspect rescue $!.to_s)) end end diff --git a/spec/raven/okjson_spec.rb b/spec/raven/okjson_spec.rb index 31d7155a0..e3b29cac3 100644 --- a/spec/raven/okjson_spec.rb +++ b/spec/raven/okjson_spec.rb @@ -20,6 +20,13 @@ end end + it 'encodes anything that responds to to_s' do + data = [ + (1..5) + ] + expect(Raven::OkJson.encode(data)).to eq '["1..5"]' + end + it 'parses zero-leading exponent numbers correctly' do expect(Raven::OkJson.decode("[123e090]")).to eq [123000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] end