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?



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
xeno@amrita:~ $ cat d2.rb
require 'data'
xeno@amrita:~ $ ruby data.rb
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!