module Finnegans::Support

Public Class Methods

snakecase(string) click to toggle source
# File lib/finnegans/support.rb, line 4
def snakecase(string)
  str = string.dup
  str.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
  str.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
  str.tr!('-', '_')
  str.gsub!(/\s/, '_')
  str.gsub!(/__+/, '_')
  str.downcase
end