class Cistern::String

Public Class Methods

camelize(string) click to toggle source
# File lib/cistern/string.rb, line 4
def self.camelize(string)
  string.gsub(/[A-Z]+/) { |w| "_#{w.downcase}" }.gsub(/^_/, '')
end
demodulize(path) click to toggle source

File activesupport/lib/active_support/inflector/methods.rb, line 168

# File lib/cistern/string.rb, line 20
def self.demodulize(path)
  path = path.to_s
  if i = path.rindex('::')
    path[(i + 2)..-1]
  else
    path
  end
end
pluralize(string) click to toggle source

@todo omg so bad

# File lib/cistern/string.rb, line 30
def self.pluralize(string)
  "#{string}s"
end
underscore(camel_cased_word) click to toggle source

File activesupport/lib/active_support/inflector/methods.rb, line 90

# File lib/cistern/string.rb, line 9
def self.underscore(camel_cased_word)
  word = camel_cased_word.to_s.gsub('::', '/')
  # word.gsub!(/(?:([A-Za-z\d])|^)(#{inflections.acronym_regex})(?=\b|[^a-z])/) { "#{$1}#{$1 && '_'}#{$2.downcase}" }
  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