Sha256: 8e977762830112f37e9d7ff86d8462c911b7e44f4d1307a777fab7cdbc14055a

Contents?: true

Size: 631 Bytes

Versions: 11

Compression:

Stored size: 631 Bytes

Contents

require 'active_support/core_ext/module/aliasing'

module Marshal
  class << self
    def load_with_autoloading(source, proc = nil)
      load_without_autoloading(source, proc)
    rescue ArgumentError, NameError => exc
      if exc.message.match(%r|undefined class/module (.+?)(::)?\z|)
        # try loading the class/module
        loaded = $1.constantize

        raise unless $1 == loaded.name

        # if it is an IO we need to go back to read the object
        source.rewind if source.respond_to?(:rewind)
        retry
      else
        raise exc
      end
    end

    alias_method_chain :load, :autoloading
  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
activesupport-4.2.11.3 lib/active_support/core_ext/marshal.rb
activesupport-4.2.11.2 lib/active_support/core_ext/marshal.rb
cocoapods-dependency-html-0.0.2 vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/marshal.rb
cocoapods-dependency-html-0.0.1 vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/marshal.rb
activesupport-4.2.11.1 lib/active_support/core_ext/marshal.rb
activesupport-4.2.11 lib/active_support/core_ext/marshal.rb
activesupport-4.2.10 lib/active_support/core_ext/marshal.rb
activesupport-4.2.10.rc1 lib/active_support/core_ext/marshal.rb
activesupport-4.2.9 lib/active_support/core_ext/marshal.rb
activesupport-4.2.9.rc2 lib/active_support/core_ext/marshal.rb
activesupport-4.2.9.rc1 lib/active_support/core_ext/marshal.rb