Module: SynchronizedModel::Support

Included in:
Message, ModelMessage
Defined in:
lib/synchronized_model/support.rb

Instance Method Summary collapse

Instance Method Details

#underscore(camel_cased_word) ⇒ Object

Taken from ActiveSupport:Inflector.underscore



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/synchronized_model/support.rb', line 6

def underscore(camel_cased_word)
  unless matches(/[A-Z-]|::/, camel_cased_word)
    return camel_cased_word
  end
  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