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:
parent
d192db441a
commit
4204762c6c
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user