instance method
constantize
Ruby on Rails 2.2.3
Since v2.2.3Signature
constantize(camel_cased_word)
Tries to find a constant with the name specified in the argument string:
"Module".constantize # => Module "Test::Unit".constantize # => Test::Unit
The name is assumed to be the one of a top-level constant, no matter whether it starts with “::” or not. No lexical context is taken into account:
C = 'outside' module M C = 'inside' C # => 'inside' "C".constantize # => 'outside', same as ::C end
NameError is raised when the name is not in CamelCase or the constant is unknown.
Parameters
-
camel_cased_wordreq
Source
# File activesupport/lib/active_support/inflector.rb, line 346
def constantize(camel_cased_word)
names = camel_cased_word.split('::')
names.shift if names.empty? || names.first.empty?
constant = Object
names.each do |name|
constant = constant.const_defined?(name) ? constant.const_get(name) : constant.const_missing(name)
end
constant
end
Defined in activesupport/lib/active_support/inflector.rb line 346
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveSupport::Inflector