lib/ext/string_ext.rb in tailor-1.0.0.alpha2 vs lib/ext/string_ext.rb in tailor-1.0.0

- old
+ new

@@ -1,5 +1,17 @@ require 'term/ansicolor' class String include Term::ANSIColor + + # Borrowed from ActiveSupport, this converts camel-case Strings to + # snake-case. + # + # @return [String] + def underscore + self.gsub(/::/, '/'). + gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2'). + gsub(/([a-z\d])([A-Z])/, '\1_\2'). + tr("-", "_"). + downcase + end end