Module: Wasabi::CoreExt::String

Defined in:
lib/wasabi/core_ext/string.rb

Class Method Summary collapse

Class Method Details

.snakecase(str) ⇒ Object



7
8
9
10
11
12
13
14
15
16
# File 'lib/wasabi/core_ext/string.rb', line 7

def self.snakecase(str)
  str = str.dup
  str.gsub!(/::/, '/')
  str.gsub!(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
  str.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
  str.tr!(".", "_")
  str.tr!("-", "_")
  str.downcase!
  str
end