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
-~----------~----~----~----~------~----~------~--~---

Reply via email to