class String

Overriding String functionality

Public Instance Methods

snakecase() click to toggle source

@return [String] Convert CamelCase string to snake_case

# File lib/topoisomerase/core_ext/string.rb, line 4
def snakecase
  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