Class: String
Instance Method Summary collapse
Instance Method Details
#underscore ⇒ Object
30 31 32 33 34 35 36 37 38 39 |
# File 'lib/eye/utils/mini_active_support.rb', line 30 def underscore word = self.dup word.gsub!('::', '/') word.gsub!(/(?:([A-Za-z\d])|^)((?=a)b)(?=\b|[^a-z])/) { "#{$1}#{$1 && '_'}#{$2.downcase}" } word.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2') word.gsub!(/([a-z\d])([A-Z])/, '\1_\2') word.tr!('-', '_') word.downcase! word end |