Help: A copy of ModelSecurity has been removed from the module tree but is still active!

Hi all, I'm posting this in the hope that someone who understands rails dependencies can shed some light.

I've implemented a "ModelSecurity" module in the vein of Bruce Peren's old ModelSecurity plugin (http://rubyforge.org/projects/model- security/).

My ModelSecurity module lives in $RAILS_ROOT/lib. It is automatically included into ActiveRecord::Base by a file in config/initializers.

Everything works fine and dandy (including mongrel in development mode) EXCEPT when I do "reload!" inside script/console -- then I get the following error the next time any of my ModelSecurity methods are called:

  ArgumentError: A copy of ModelSecurity has been removed from the module tree   but is still active!

I have tried adding an "unloadable" declaration to my ModelSecurity model, but it makes no difference.

I also tried adding the "unloadable" declaration to ActiveRecord::Base itself (I was grasping at straws there), but that doesn't work either -- it causes "reload!" to fail with:   NameError: uninitialized constant ActiveRecord::Base

Admittedly this isn't a huge problem (it only affects script/console) but it is annoying because quitting and re-running script/console takes ~12s on my system.

Cheers Dave.

Cheers for the suggestion, but that didn't work for me. :frowning:

For the sake of anyone stumbling on to this from a google search, this was answered on the rails-core mailing list:

http://groups.google.com/group/rubyonrails-core/browse_thread/thread/710868b1292c737f