From 4fa8c8b52f2ee7155b18cee2f3fc978075c68db1 Mon Sep 17 00:00:00 2001 From: Noah Lindner Date: Sat, 8 Feb 2014 15:35:12 -0800 Subject: Fixed an issue where reloading of removed dependencies would cause an unexpected circular dependency error --- activesupport/lib/active_support/dependencies.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'activesupport/lib') diff --git a/activesupport/lib/active_support/dependencies.rb b/activesupport/lib/active_support/dependencies.rb index 6be19771f5..7ea3ff7d3f 100644 --- a/activesupport/lib/active_support/dependencies.rb +++ b/activesupport/lib/active_support/dependencies.rb @@ -665,6 +665,14 @@ module ActiveSupport #:nodoc: constants = normalized.split('::') to_remove = constants.pop + # Remove the file path from the loaded list. + file_path = search_for_file(const.underscore) + if file_path + expanded = File.expand_path(file_path) + expanded.sub!(/\.rb\z/, '') + self.loaded.delete(expanded) + end + if constants.empty? parent = Object else -- cgit v1.2.3