aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib
diff options
context:
space:
mode:
authorFumiaki MATSUSHIMA <mtsmfm@gmail.com>2016-03-28 23:04:36 +0900
committerFumiaki MATSUSHIMA <mtsmfm@gmail.com>2016-03-28 23:06:51 +0900
commit37a298b04350425b1055b7bead8560c3d5e7331d (patch)
tree6842b474d7441905a2988f633c2935414a1dcdba /activesupport/lib
parent475109c517e724c015ee13061416568a7d6b9757 (diff)
downloadrails-37a298b04350425b1055b7bead8560c3d5e7331d.tar.gz
rails-37a298b04350425b1055b7bead8560c3d5e7331d.tar.bz2
rails-37a298b04350425b1055b7bead8560c3d5e7331d.zip
Fix marshal with autoloading for nested class/module
#24150 break autoloading for nested class/module. There is test for nested class but it doesn't work correctly. Following code will autoload `ClassFolder::ClassFolderSubclass` before `Marshal.load`: `assert_kind_of ClassFolder::ClassFolderSubclass, Marshal.load(dumped)`
Diffstat (limited to 'activesupport/lib')
-rw-r--r--activesupport/lib/active_support/core_ext/marshal.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/core_ext/marshal.rb b/activesupport/lib/active_support/core_ext/marshal.rb
index ca278cb2fa..5875ae5f71 100644
--- a/activesupport/lib/active_support/core_ext/marshal.rb
+++ b/activesupport/lib/active_support/core_ext/marshal.rb
@@ -3,7 +3,7 @@ module ActiveSupport
def load(source)
super(source)
rescue ArgumentError, NameError => exc
- if exc.message.match(%r|undefined class/module (.+)|)
+ if exc.message.match(%r|undefined class/module (.+?)(::)?\z|)
# try loading the class/module
loaded = $1.constantize