aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/core_ext/string/conversions.rb
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2010-06-05 20:33:53 -0700
committerJeremy Kemper <jeremy@bitsweat.net>2010-06-05 22:05:58 -0700
commitfd1a5041362f5e65b813b7938d477143bd82de40 (patch)
tree5365eede7fe25b23d2a3f37beb21c11ddad281b0 /activesupport/lib/active_support/core_ext/string/conversions.rb
parent35ae42be4f9e23ae954e4705276b460998cb401b (diff)
downloadrails-fd1a5041362f5e65b813b7938d477143bd82de40.tar.gz
rails-fd1a5041362f5e65b813b7938d477143bd82de40.tar.bz2
rails-fd1a5041362f5e65b813b7938d477143bd82de40.zip
ActiveSupport::Dependencies.constantize shortcut for caching named constant lookups
Diffstat (limited to 'activesupport/lib/active_support/core_ext/string/conversions.rb')
-rw-r--r--activesupport/lib/active_support/core_ext/string/conversions.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/core_ext/string/conversions.rb b/activesupport/lib/active_support/core_ext/string/conversions.rb
index 6a243fe982..cd7a42ed2b 100644
--- a/activesupport/lib/active_support/core_ext/string/conversions.rb
+++ b/activesupport/lib/active_support/core_ext/string/conversions.rb
@@ -47,4 +47,15 @@ class String
d[5] += d.pop
::DateTime.civil(*d)
end
+
+ # +constantize+ tries to find a declared constant with the name specified
+ # in the string. It raises a NameError when the name is not in CamelCase
+ # or is not initialized.
+ #
+ # Examples
+ # "Module".constantize # => Module
+ # "Class".constantize # => Class
+ def constantize
+ ActiveSupport::Inflector.constantize(self)
+ end
end