Module: CoreExt::MarshalWithAutoloading
- Defined in:
- lib/core_ext/marshal.rb
Overview
:nodoc:
Instance Method Summary collapse
Instance Method Details
#load(source) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/core_ext/marshal.rb', line 3 def load(source) super(source) rescue ArgumentError, NameError => exc if exc..match(%r|undefined class/module (.+)|) # try loading the class/module $1.constantize # 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 |