From b6110f44d089cee691eb809a5c3d40d8a91da75d Mon Sep 17 00:00:00 2001 From: Myron Marston Date: Tue, 25 Jun 2013 23:47:26 -0700 Subject: [PATCH] Reorganize marshal code. - This appears to fix rspec/rspec-core#950. - It's better, anyway, since it bypasses the unnecessary shifting/unshifting for this case. --- lib/rspec/mocks/extensions/marshal.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/rspec/mocks/extensions/marshal.rb b/lib/rspec/mocks/extensions/marshal.rb index 7698c1887..dda220004 100644 --- a/lib/rspec/mocks/extensions/marshal.rb +++ b/lib/rspec/mocks/extensions/marshal.rb @@ -1,9 +1,11 @@ module Marshal class << self def dump_with_mocks(*args) + return dump_without_mocks(*args) unless ::RSpec::Mocks.space + object = args.shift - if ( ::RSpec::Mocks.space && !::RSpec::Mocks.space.registered?(object) ) || NilClass === object + if !::RSpec::Mocks.space.registered?(object) || NilClass === object return dump_without_mocks(*args.unshift(object)) end