module Omniorder::Utils
Public Class Methods
camelize(str)
click to toggle source
# File lib/omniorder/utils.rb, line 30 def self.camelize(str) str.to_s.split('_').map { |w| w.capitalize }.join end
constantize(camel_cased_word)
click to toggle source
Extracted from activesupport/lib/active_support/inflector/methods.rb
# File lib/omniorder/utils.rb, line 4 def self.constantize(camel_cased_word) names = camel_cased_word.split('::') names.shift if names.empty? || names.first.empty? names.inject(Object) do |constant, name| if constant == Object constant.const_get(name) else candidate = constant.const_get(name) next candidate if constant.const_defined?(name, false) next candidate unless Object.const_defined?(name) # Go down the ancestors to check it it's owned # directly before we reach Object or the end of ancestors. constant = constant.ancestors.inject do |const, ancestor| break const if ancestor == Object break ancestor if ancestor.const_defined?(name, false) const end # owner is in Object, so raise constant.const_get(name, false) end end end