Module: ActionPush::Util

Defined in:
lib/action_push/util.rb

Class Method Summary collapse

Class Method Details

.underscore(camel_cased_word) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/action_push/util.rb', line 8

def underscore(camel_cased_word)
  return camel_cased_word unless /[A-Z-]|::/.match?(camel_cased_word)

  word = camel_cased_word.to_s.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