On 7/27/07, giles bowkett <[EMAIL PROTECTED]> wrote: > > Hi -- > > This started as a question in ruby-talk. It's about this line of code: > > eval(IO.read(init_path), binding, init_path) > > This idiom appears in initializer.rb, in v1.2.3, for loading > environment files and plugin init files. (On Edge, the plugin stuff is > moved to another file, but the same idiom's still used in that file, > and you'll see it used for the env files in initializer.rb on Edge as > well.) > > The question was, why use this idiom instead of load or require? > > My assumption is that the answer is this idiom gives you flexible > bindings, but if anyone could verify that, or correct me, I'd totally > appreciate it. I don't actually see the binding passed being declared > anywhere, so it kind of puzzles me.
I think it's so some local variables are available in the init.rb file: directory, lib_path, etc. Actually, they're now methods of the Rails::Plugin class. -- Rick Olson http://lighthouseapp.com http://weblog.techno-weenie.net http://mephistoblog.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" 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-core?hl=en -~----------~----~----~----~------~----~------~--~---
