lib/inquisitio/active_support.rb in inquisitio-0.1.2 vs lib/inquisitio/active_support.rb in inquisitio-0.1.3
- old
+ new
@@ -1,34 +1,32 @@
# This is taken from ActiveSupport
-module ActiveSupport
- module String
- def constantize
- names = self.gsub("_", "::").split('::')
- names.shift if names.empty? || names.first.empty?
+module ActiveSupportString
+ def constantize
+ names = self.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)
+ 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)
+ # 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
end
class String
- include ActiveSupport::String
+ include ActiveSupportString
end