diff options
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/lib/active_support/dependencies.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/dependencies.rb b/activesupport/lib/active_support/dependencies.rb index 7f73f9bf40..0bedbf093c 100644 --- a/activesupport/lib/active_support/dependencies.rb +++ b/activesupport/lib/active_support/dependencies.rb @@ -142,6 +142,14 @@ module Dependencies #:nodoc: def const_available?(name) self.const_defined?(name) || load_paths.any? {|lp| lp.filesystem_path(path + [name])} end + + # Erase all items in this module + def clear! + constants.each do |name| + Object.send(:remove_const, name) if Object.const_defined?(name) && Object.const_get(name).object_id == self.const_get(name).object_id + self.send(:remove_const, name) + end + end end class RootLoadingModule < LoadingModule #:nodoc: |