That makes sense! Thanks for that!
On Sep 11, 7:33 pm, pharrington <[email protected]> wrote: > On Sep 11, 12:12 pm, Gavin <[email protected]> wrote: > > > 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: > > x...@amrita:~ $ cat data.rb > puts DATA.read > __END__ > helloooooo > x...@amrita:~ $ cat d2.rb > require 'data' > x...@amrita:~ $ ruby data.rb > helloooooo > x...@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>' > x...@amrita:~ $ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

