module Logux::Utils

Public Instance Methods

underscore() click to toggle source
# File lib/logux/utils.rb, line 6
def underscore
  return self unless /[A-Z-]|::/.match?(self)

  String.new(self).tap do |word|
    word.gsub!('::', '/')
    word.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2')
    word.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
    word.tr!('-', '_')
    word.downcase!
  end
end