--Apple-Mail-5-456415562
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=US-ASCII; format=flowed

On 11 Jan 2005, at 04:14, nobu.nokada / softhome.net wrote:

> Hi,
>
> At Wed, 5 Jan 2005 17:00:00 +0900,
> Eric Hodel wrote in [ruby-core:04116]:
>> Any test code that depends upon modifications of $: fails when used
>> with test/unit's directory collector.
>
> I'm curious why or how that dependency is needed.

Rails does two things with modifying $:, it adds directories to make 
require paths shorter, and it also performs some automatic dependency 
loading out of const_get.

A Rails app is broken up into three parts, app/models, app/controllers 
and app/views.  Each of these directories are added to $:, so you can 
require 'person' instead of require 'app/models/person'.

The automatic dependency loading uses const_get and hints from the user 
to figure out what to load as its needed, so using a Photo model from 
the Person model will automatically require 'app/models/photo' without 
the user typing anything.

Any tests that perform automatic reloading based on $: will also break, 
think of testing reloadable plugins for an IRC bot or similar.

-- 
Eric Hodel - drbrain / segment7.net - http://segment7.net
FEC2 57F1 D465 EB15 5D6E  7C11 332A 551C 796C 9F04

--Apple-Mail-5-456415562
content-type: application/pgp-signature; x-mac-type=70674453;
	name=PGP.sig
content-description: This is a digitally signed message part
content-disposition: inline; filename=PGP.sig
content-transfer-encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)

iD8DBQFB5A8+MypVHHlsnwQRAn0CAKD0eEQ524kozhD9Hwl+mr9t7G6l2QCfaKV5
fmJSIVoTe92jZnOs0bdp4cM=
=EBjo
-----END PGP SIGNATURE-----

--Apple-Mail-5-456415562--