From: Paul Brannan Date: 2002-02-09T04:10:09+09:00 Subject: eruby and conflicting names (Oops, I originally sent this message to ruby-lang@ruby-talk.org... which is certianly the wrong address...) If I have a file foo1.rb: class Foo def foo puts "foo1" end end and a file foo2.rb: class Foo def foo puts "foo2" end end and a file test1.rhtml: <% require 'foo1' Foo.new.foo %> and a file test2.rhtml: <% require 'foo2' Foo.new.foo %> and I visit test1.rhtml with my browser, then I visit test2.rhtml, then test1.rhtml prints "foo1" and test2.rhtml prints "foo2". But if I hit "reload" a number of times on each file, then sometimes test2 prints "foo1" and test1 prints "foo2". I suspect that what's happening here is that: 1) foo1.rb and foo2.rb are not reloaded after the first time they are required. 2) a particular apache process requires foo1, then requires foo2. 3) this same apache process is used to serve out test1.rhtml, and so "foo2" is what gets printed. This does not appear to me to be very secure or safe. Is there a good way around this problem that does not sacrifice speed for security/safety? Paul