aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2017-01-17 23:21:05 -0500
committerGitHub <noreply@github.com>2017-01-17 23:21:05 -0500
commit5ac8af203391c2bfa7f50cabefe65371f216347e (patch)
tree20f3befb28adeab869264becc59190024cbd95c2 /activesupport/lib
parent39c77eb1843f79925c7195e8869afc7cb7323682 (diff)
parent1d3ddac7b8fbc4ff5cdd984f58991cf736748ad9 (diff)
downloadrails-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.rb6
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