Class: String

Inherits:
Object show all
Defined in:
lib/chimps/utils/extensions.rb,
lib/chimps/utils/extensions.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#blank?Boolean

Returns:

  • (Boolean)


100
101
102
# File 'lib/chimps/utils/extensions.rb', line 100

def blank?
  self !~ /\S/
end

#constantizeObject

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