module Archfiend::String::Underscore
Public Instance Methods
underscore()
click to toggle source
@return [String] String
in the lowercase underscore format
# File lib/archfiend/core_ext/string/underscore.rb, line 5 def underscore return self unless /[A-Z-]|::/.match?(self) word = gsub('::'.freeze, '/'.freeze) word.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2'.freeze) word.gsub!(/([a-z\d])([A-Z])/, '\1_\2'.freeze) word.tr!('-'.freeze, '_'.freeze) word.downcase! word end