Class: String
- Defined in:
- lib/chimps/utils/extensions.rb,
lib/chimps/utils/extensions.rb
Overview
:nodoc:
Instance Method Summary collapse
- #blank? ⇒ Boolean
-
#constantize ⇒ Object
Tries to find a constant with the name specified in the argument string:.
Instance Method Details
#blank? ⇒ Boolean
100 101 102 |
# File 'lib/chimps/utils/extensions.rb', line 100 def blank? self !~ /\S/ end |
#constantize ⇒ Object
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.
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/chimps/utils/extensions.rb', line 27 def constantize names = 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 |