From: Carlos Date: 2004-02-19T00:42:54+09:00 Subject: Re: "require_next"? > Trying to run irb on QNX6, I learned that there is a 48 char limit to > file names. The long filenames generated by Tempfile (called from > irb/locale.rb) were preventing irb from running. So I installed the > following code in site_ruby under the name "tempfile.rb" so that it > would be loaded before the real tempfile: [...] > Is there an easy way to implement this in ruby? If not, should it be > provided as a primitive by the interpreter? How about something like that?: def require_next the_first basename = File.basename(the_first) dirname = File.dirname(the_first) loaded = false idx = $:.index(dirname)+1 $:[idx..-1].each do |dir| begin require "#{dirname}/#{basename}" loaded = true break rescue LoadError next end end raise LoadError, basename if !loaded end require_next __FILE__ (not tested).