class String

Public Instance Methods

camelify() click to toggle source
# File lib/algernon/utility/string_utils.rb, line 11
def camelify
  return self if self !~ /_/ && self =~ /[A-Z]+.*/
  split("_").map(&:capitalize).join
end
constantify() click to toggle source
# File lib/algernon/utility/string_utils.rb, line 16
def constantify
  Object.const_get(self)
end
path_format!() click to toggle source
# File lib/algernon/utility/string_utils.rb, line 35
def path_format!
  replace(self[0..-2]) if self[-1] == "/"
  replace("/" + self) if self[0] != "/"
end
pluralize() click to toggle source
# File lib/algernon/utility/string_utils.rb, line 20
def pluralize
  gsub!(/([^aeiouy]|qu)y$/i, '\1ies')
  gsub!(/(ss|z|ch|sh|x)$/i, '\1es')
  gsub!(/(is)$/i, "es")
  gsub!(/(f|fe)$/i, "ves")
  gsub!(/(ex|ix)$/i, "ices")
  gsub!(/(a)$/i, "ae")
  gsub!(/(um|on)$/i, "a")
  gsub!(/(us)$/i, "i")
  gsub!(/(eau)$/i, "eaux")
  gsub!(/([^saeix])$/i, '\1s')

  self
end
snakify() click to toggle source
# File lib/algernon/utility/string_utils.rb, line 2
def snakify
  gsub!("::", "/")
  gsub!(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
  gsub!(/([a-z\d])([A-Z])/, '\1_\2')
  tr!("-", "_")
  downcase!
  self
end