Method: FTest::Util#to_snake_case
- Defined in:
- lib/ftest/util.rb
#to_snake_case(str) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/ftest/util.rb', line 33 def to_snake_case str str = str.gsub '::', '/' # Convert FOOBar => FooBar str.gsub! %r{[[:upper:]]{2,}} do |uppercase| bit = uppercase[0] bit << uppercase[1...-1].downcase bit << uppercase[-1] bit end # Convert FooBar => foo_bar str.gsub! %r{[[:lower:]][[:upper:]]+[[:lower:]]} do |camel| bit = camel[0] bit << '_' bit << camel[1..-1].downcase end str.downcase! str end |