Module: Marshal
- Defined in:
- lib/rspec/mocks/extensions/marshal.rb
Class Method Summary (collapse)
-
+ (Object) dump_with_mocks(object, *rest)
(also: dump)
Duplicates any mock objects before serialization.
Class Method Details
+ (Object) dump_with_mocks(object, *rest) Also known as: dump
Duplicates any mock objects before serialization. Otherwise, serialization will fail because methods exist on the singleton class.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/rspec/mocks/extensions/marshal.rb', line 5 def dump_with_mocks(object, *rest) if ::RSpec::Mocks.space.nil? || !::RSpec::Mocks.space.registered?(object) || NilClass === object dump_without_mocks(object, *rest) else unless ::RSpec::Mocks.configuration.marshal_patched? RSpec.warn_deprecation(<<-EOS.gsub(/^\s+\|/, '')) |Using Marshal.dump on stubbed objects relies on a monkey-patch |that is being made opt-in in RSpec 3. To silence this warning |please explicitly enable it: | |RSpec.configure do |rspec| | rspec.mock_with :rspec do |mocks| | mocks.patch_marshal_to_support_partial_doubles = true | end |end | |Called from #{RSpec::CallerFilter.first_non_rspec_line}." EOS end dump_without_mocks(object.dup, *rest) end end |