module ActiveSupport::Inflector
def const_regexp(camel_cased_word) #:nodoc:
For instance, Foo::Bar::Baz will generate Foo(::Bar(::Baz)?)?
Mount a regular expression that will match part by part of the constant.
def const_regexp(camel_cased_word) #:nodoc: parts = camel_cased_word.split("::") last = parts.pop parts.reverse.inject(last) do |acc, part| part.empty? ? acc : "#{part}(::#{acc})?" end end