Module: Finnegans::Support

Defined in:
lib/finnegans/support.rb

Class Method Summary collapse

Class Method Details

.snakecase(string) ⇒ Object



4
5
6
7
8
9
10
11
12
# 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