Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Changeset 5811

Show
Ignore:
Timestamp:
12/31/06 18:53:58 (2 years ago)
Author:
ulysses
Message:

Fix Dependencies.autoloaded? to ignore anonymous modules. Closes #6561.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/activesupport/CHANGELOG

    r5782 r5811  
    11*SVN* 
     2 
     3* Fix Dependencies.autoloaded? to ignore anonymous modules. Closes #6561. [Nicholas Seckar] 
    24 
    35* Update load once paths to prevent nested once constants from being detected and claimed by an external non-once load. [Nicholas Seckar] 
  • trunk/activesupport/lib/active_support/dependencies.rb

    r5782 r5811  
    279279  # Determine if the given constant has been automatically loaded. 
    280280  def autoloaded?(desc) 
     281    return false if desc.is_a?(Module) && desc.name.empty? # Empty name => anonymous module. 
    281282    name = to_constant_name desc 
    282283    return false unless qualified_const_defined? name 
  • trunk/activesupport/test/dependencies_test.rb

    r5781 r5811  
    305305      assert Dependencies.autoloaded?("::ModuleFolder") 
    306306      assert Dependencies.autoloaded?(:ModuleFolder) 
     307 
     308      assert ! Dependencies.autoloaded?(Module.new) 
    307309 
    308310      Object.send :remove_const, :ModuleFolder 
     
    706708    with_loading 'autoloading_fixtures' do 
    707709      Dependencies.load_once_paths = Dependencies.load_paths 
    708       ::A 
     710      ::A.to_s 
    709711      assert defined?(A) 
    710712      Dependencies.clear