Anyone know why __END__ and DATA don't work in Rails?

When writing Ruby you have the option to end the file early with
__END__. Anything after the __END__ is assigned to a constant called
DATA which is available within the file.

I recently tried using this in Rails and it didn't work. Instead I get
an uninitialized constant exception. Anyone know why?

Has it been disabled in Rails?

thanks

Gavin

The DATA constant is only created for the running script. Thus,
require'd files do not get the DATA constant.

see the following:

xeno@amrita:~ $ cat data.rb
puts DATA.read
__END__
helloooooo
xeno@amrita:~ $ cat d2.rb
require 'data'
xeno@amrita:~ $ ruby data.rb
helloooooo
xeno@amrita:~ $ ruby d2.rb
/home/xeno/data.rb:1:in `<top (required)>': uninitialized constant
DATA (NameError)
        from d2.rb:1:in `require'
        from d2.rb:1:in `<main>'
xeno@amrita:~ $

That makes sense!

Thanks for that!