Sha256: f89baea3fd7f6f440d804e98fa81d9f61126b7f855bb38d97d978d2dd47e5e7e

Contents?: true

Size: 1.14 KB

Versions: 7504

Compression:

Stored size: 1.14 KB

Contents

module RSpec
  module Mocks
    # Support for `patch_marshal_to_support_partial_doubles` configuration.
    #
    # @private
    class MarshalExtension
      def self.patch!
        return if Marshal.respond_to?(:dump_with_rspec_mocks)

        Marshal.instance_eval do
          class << self
            def dump_with_rspec_mocks(object, *rest)
              if !::RSpec::Mocks.space.registered?(object) || NilClass === object
                dump_without_rspec_mocks(object, *rest)
              else
                dump_without_rspec_mocks(object.dup, *rest)
              end
            end

            alias_method :dump_without_rspec_mocks, :dump
            undef_method :dump
            alias_method :dump, :dump_with_rspec_mocks
          end
        end
      end

      def self.unpatch!
        return unless Marshal.respond_to?(:dump_with_rspec_mocks)

        Marshal.instance_eval do
          class << self
            undef_method :dump_with_rspec_mocks
            undef_method :dump
            alias_method :dump, :dump_without_rspec_mocks
            undef_method :dump_without_rspec_mocks
          end
        end
      end
    end
  end
end

Version data entries

7,504 entries across 7,412 versions & 134 rubygems

Version Path
vagrant-unbundled-2.2.6.1 vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.5.0/lib/rspec/mocks/marshal_extension.rb
vagrant-unbundled-2.2.6.0 vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.5.0/lib/rspec/mocks/marshal_extension.rb
rspec-mocks-3.9.0 lib/rspec/mocks/marshal_extension.rb
zuora_connect_ui-0.9.0 vendor/ruby/2.6.0/gems/rspec-mocks-3.8.1/lib/rspec/mocks/marshal_extension.rb
zuora_connect_ui-0.9.0 vendor/ruby/2.6.0/gems/rspec-mocks-3.8.2/lib/rspec/mocks/marshal_extension.rb
rspec-mocks-3.8.2 lib/rspec/mocks/marshal_extension.rb
cloudsmith-api-0.44.4 vendor/bundle/ruby/2.3.0/gems/rspec-mocks-3.8.1/lib/rspec/mocks/marshal_extension.rb
zuora_connect_ui-0.8.3 vendor/ruby/2.6.0/gems/rspec-mocks-3.8.1/lib/rspec/mocks/marshal_extension.rb
vagrant-unbundled-2.2.5.0 vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.5.0/lib/rspec/mocks/marshal_extension.rb
vagrant-unbundled-2.2.5.0 vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.5.0/lib/rspec/mocks/marshal_extension.rb
zuora_connect_ui-0.8.2 vendor/ruby/2.6.0/gems/rspec-mocks-3.8.1/lib/rspec/mocks/marshal_extension.rb
rspec-mocks-diag-3.8.1.2 lib/rspec/mocks/marshal_extension.rb
zuora_connect_ui-0.8.1 vendor/ruby/2.6.0/gems/rspec-mocks-3.8.1/lib/rspec/mocks/marshal_extension.rb
zuora_connect_ui-0.8.0 vendor/ruby/2.6.0/gems/rspec-mocks-3.8.1/lib/rspec/mocks/marshal_extension.rb
rspec-mocks-diag-3.8.1.1 lib/rspec/mocks/marshal_extension.rb
dadapush_client-1.0.1 vendor/bundle/ruby/2.3.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/marshal_extension.rb
zuora_connect_ui-0.7.1 vendor/ruby/2.6.0/gems/rspec-mocks-3.8.1/lib/rspec/mocks/marshal_extension.rb
zuora_connect_ui-0.7.0 vendor/ruby/2.6.0/gems/rspec-mocks-3.8.1/lib/rspec/mocks/marshal_extension.rb
opal-rspec-0.8.0.alpha1 rspec-mocks/upstream/lib/rspec/mocks/marshal_extension.rb
rspec-mocks-3.8.1 lib/rspec/mocks/marshal_extension.rb