module Forecast::Model::Utility
Public Class Methods
demodulize(class_name_in_module)
click to toggle source
Removes the module part from the expression in the string.
Examples:
"ActiveRecord::CoreExtensions::String::Inflections".demodulize # => "Inflections" "Inflections".demodulize
# File lib/forecast/model.rb, line 126 def demodulize(class_name_in_module) class_name_in_module.to_s.gsub(/^.*::/, '') end
underscore(camel_cased_word)
click to toggle source
Makes an underscored, lowercase form from the expression in the string.
Changes '::' to '/' to convert namespaces to paths.
Examples:
"ActiveRecord".underscore # => "active_record" "ActiveRecord::Errors".underscore # => active_record/errors
As a rule of thumb you can think of underscore
as the inverse of camelize
, though there are cases where that does not hold:
"SSLError".underscore.camelize # => "SslError"
# File lib/forecast/model.rb, line 142 def underscore(camel_cased_word) word = camel_cased_word.to_s.dup word.gsub!(/::/, '/') word.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2') word.gsub!(/([a-z\d])([A-Z])/,'\1_\2') word.tr!("-", "_") word.downcase! word end