I'm using Ruby 1.8.2 on Mac OS X 10.4.7. I discovered the Ruby  
distribution included a directory supporting [incr Widgets]. Some of  
them seemed pretty nifty, so I thought I'd try them out. My first try  
was to make an "instant" calendar with the Calendar widget. After a  
bit of fooling around I got a calendar up on my screen, but one of  
things I had to do to make it work bothers me.

The [incr Widgets] support files live in /usr/lib/ruby/1.8/tkextlib/ 
iwidgets/. There is a file, /usr/lib/ruby/1.8/tkextlib/iwidgets.rb,  
that autoloads the iwidget classes. However, the iwidgets.rb is is  
coded with lines like

     autoload :Calendar,              'tkextlib/iwidgets/calendar'

which means iwidgets.rb has to be one directory level up (in /usr/lib/ 
ruby/1.8/) to work. So I put a copy of iwidgets.rb in in /usr/lib/ 
ruby/1.8/. With that hack, "require 'iwidgets'" works -- at least in  
the short term. But what will happen if Apple installs a newer  
version of Ruby as part of an OS X update? Is there a better way to  
fix this sort of problem?

Regards, Morton