diff options
author | Rafael França <rafaelmfranca@gmail.com> | 2017-01-17 23:21:05 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-17 23:21:05 -0500 |
commit | 5ac8af203391c2bfa7f50cabefe65371f216347e (patch) | |
tree | 20f3befb28adeab869264becc59190024cbd95c2 /activesupport/lib | |
parent | 39c77eb1843f79925c7195e8869afc7cb7323682 (diff) | |
parent | 1d3ddac7b8fbc4ff5cdd984f58991cf736748ad9 (diff) | |
download | rails-5ac8af203391c2bfa7f50cabefe65371f216347e.tar.gz rails-5ac8af203391c2bfa7f50cabefe65371f216347e.tar.bz2 rails-5ac8af203391c2bfa7f50cabefe65371f216347e.zip |
Merge pull request #27713 from coreyward/module_freeze_parent_name
Module#parent_name broken for frozen classes
Diffstat (limited to 'activesupport/lib')
-rw-r--r-- | activesupport/lib/active_support/core_ext/module/introspection.rb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/activesupport/lib/active_support/core_ext/module/introspection.rb b/activesupport/lib/active_support/core_ext/module/introspection.rb index 0665aa88bc..ca20a6d4c5 100644 --- a/activesupport/lib/active_support/core_ext/module/introspection.rb +++ b/activesupport/lib/active_support/core_ext/module/introspection.rb @@ -5,10 +5,12 @@ class Module # # M::N.parent_name # => "M" def parent_name - if defined? @parent_name + if defined?(@parent_name) @parent_name else - @parent_name = name =~ /::[^:]+\Z/ ? $`.freeze : nil + parent_name = name =~ /::[^:]+\Z/ ? $`.freeze : nil + @parent_name = parent_name unless frozen? + parent_name end end |