Load Path Find

Useful tools for looking for files on the $LOAD_PATH

DEPRECATED

This library is no longer maintained. Everything it does and so much more is now provided by github.com/joshbuddy/callsite. To get back load_path_find’s specific functionality, you can do the following

gem install 'callsite'

And in ruby

require 'load_path_find'

Now everything below will work as-is!

Usage

> require 'load_path_find'
> $LOAD_PATH.find_file('set.rb')
< "/opt/local/lib/ruby/1.8/set.rb"

.. Load a bunch of gems with spec directories ..

> $LOAD_PATH.find_all_files('../spec')

And you’ll get an array of matches.

> $LOAD_PATH.find_all_files('../spec') {|file| puts "here is a spec! #{file}"}

And now, even more awesome!

> $LOAD_PATH.add_current

.. adds the current path to your $LOAD_PATH and.

> $LOAD_PATH.add_current!

.. adds the current path to the start of the $LOAD_PATH

And one more clever trick, Kernel#require_all, lets you require all matching files.

Also, there is Kernel#require_next which can be used to monkey patch on require:

# my_extension/stringio.rb
require_next "stringio"
StringIO.class_eval do
  # insert evil stuff here
end

# my_extension/setup.rb
$LOAD_PATH.add_current!
require "some_code_not_owned_by_me_maybe_requiring_stringio_oh_how_will_i_fool_them_all"