module Lita::Util

Handy utilities used by other Lita classes.

Public Class Methods

stringify_keys(hash) click to toggle source

Returns a hash with any symbol keys converted to strings. @param hash [Hash] The hash to convert. @return [Hash] The converted hash.

# File lib/lita/util.rb, line 8
def stringify_keys(hash)
  result = {}
  hash.each_key { |key| result[key.to_s] = hash[key] }
  result
end
underscore(camel_cased_word) click to toggle source

Transforms a camel-cased string into a snaked-cased string. Taken from ActiveSupport. @param camel_cased_word [String] The word to transform. @return [String] The transformed word.

# File lib/lita/util.rb, line 17
def underscore(camel_cased_word)
  word = camel_cased_word.to_s.dup
  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!
  word
end