class String

Public Instance Methods

camelize() click to toggle source
# File lib/announce/core_ext.rb, line 53
def camelize
  string = self
  string = string.sub(/^[a-z\d]*/) { $&.capitalize }
  string.gsub!(/(?:_|(\/))([a-z\d]*)/i) { "#{$1}#{$2.capitalize}" }
  string.gsub!(/\//, "::")
  string
end
constantize() click to toggle source
# File lib/announce/core_ext.rb, line 42
def constantize
  names = self.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
underscore() click to toggle source
# File lib/announce/core_ext.rb, line 61
def underscore
  camel_cased_word = self
  return camel_cased_word unless camel_cased_word =~ /[A-Z-]|::/
  word = camel_cased_word.to_s.gsub(/::/, "/")
  word.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2')
  word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
  word.tr!("-", "_")
  word.downcase!
  word
end