1
0
mirror of https://github.com/meineerde/rackstash.git synced 2026-01-31 17:27:13 +00:00

Don't die when trying to dup a singleton unfrozen object

This commit is contained in:
Holger Just 2017-01-26 23:23:42 +01:00
parent d192db441a
commit 4204762c6c
2 changed files with 15 additions and 1 deletions

View File

@ -83,7 +83,11 @@ module Rackstash
end
def dup_freeze(obj)
obj.frozen? ? obj : obj.dup.freeze
if obj.frozen?
obj
else
obj.dup.freeze rescue obj
end
end
end
end

View File

@ -26,6 +26,16 @@ describe Rackstash::Message do
expect(message.message).to eq exception
end
it 'attempts to dup non-frozen objects' do
rational = Rational(2, 3)
expect(rational).to_not be_frozen
message = Rackstash::Message.new(rational)
expect(message.message).to_not be_frozen
expect(message.message).to equal rational
end
end
describe '#severity' do