module Elastic::Helpers
Public Instance Methods
to_alias_name(klass)
click to toggle source
# File lib/elastic/helpers.rb, line 3 def to_alias_name(klass) underscore(demodulize(klass.to_s)) end
Private Instance Methods
demodulize(str)
click to toggle source
# File lib/elastic/helpers.rb, line 9 def demodulize(str) if i = str.rindex("::") str[(i + 2)..-1] else str end end
underscore(camel_cased_word)
click to toggle source
# File lib/elastic/helpers.rb, line 17 def underscore(camel_cased_word) return camel_cased_word unless /[A-Z-]|::/.match?(camel_cased_word) word = camel_cased_word.to_s.gsub("::".freeze, "/".freeze) word.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2'.freeze) word.gsub!(/([a-z\d])([A-Z])/, '\1_\2'.freeze) word.tr!("-".freeze, "_".freeze) word.downcase! word end