Sha256: 7d2563a23534a82906316a741aefb4d0f705ea39b619de2baa99fb66301af027

Contents?: true

Size: 700 Bytes

Versions: 18

Compression:

Stored size: 700 Bytes

Contents

class String

  # 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.
  #
  # @example
  #   "Module".constantize #=> Module
  #   "Class".constantize #=> Class
  #
  # This is the extlib version of String#constantize, which has different
  # behavior wrt using lexical context: see active_support/inflector/methods.rb
  #
  def constantize
    unless /\A(?:::)?([A-Z]\w*(?:::[A-Z]\w*)*)\z/ =~ self
      raise NameError, "#{self.inspect} is not a valid constant name!"
    end

    Object.module_eval("::#{$1}", __FILE__, __LINE__)
  end unless method_defined?(:constantize)
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
gorillib-0.1.11 lib/gorillib/string/constantize.rb
gorillib-0.1.9 lib/gorillib/string/constantize.rb
gorillib-0.1.8 lib/gorillib/string/constantize.rb
gorillib-0.1.7 lib/gorillib/string/constantize.rb
gorillib-0.1.6 lib/gorillib/string/constantize.rb
gorillib-0.1.5 lib/gorillib/string/constantize.rb
gorillib-0.1.4 lib/gorillib/string/constantize.rb
gorillib-0.1.3 lib/gorillib/string/constantize.rb
gorillib-0.1.2 lib/gorillib/string/constantize.rb
gorillib-0.1.1 lib/gorillib/string/constantize.rb
gorillib-0.1.0 lib/gorillib/string/constantize.rb
gorillib-0.0.8 lib/gorillib/string/constantize.rb
gorillib-0.0.7 lib/gorillib/string/constantize.rb
gorillib-0.0.6 lib/gorillib/string/constantize.rb
gorillib-0.0.5 lib/gorillib/string/constantize.rb
gorillib-0.0.4 lib/gorillib/string/constantize.rb
gorillib-0.0.3 lib/gorillib/string/constantize.rb
gorillib-0.0.2 lib/gorillib/string/constantize.rb