This has probably been done “1,000,000” times, but here’s another hack
If you’ve ever gotten a message like
…/smart_require/test.rb:1: warning: already initialized constant A
you know that ruby 1.8.x “re-requires” a file if you pass in a different
paths to the same file.
results in test.rb being loaded twice, despite the semantics of require
being that it loads only once.
Ruby 1.9 overcomes this.
This file overcomes this for 1.8.x
…/dev/test.rb:1: warning: already initialized constant A
C:\dev>ruby -runique_require example_bad.rb
no warning is displayed
download the unique_require.rb file from
require it [preferably first].