Look in all the installed gems until a matching glob is found. Return the gemspec of the gem where it was found. If no match is found, return nil.
The gems are searched in alphabetical order, and in reverse version order.
find('log4r') # -> (log4r-1.1 spec) find('log4r.rb') # -> (log4r-1.1 spec) find('rake/rdoctask') # -> (rake-0.4.12 spec) find('foobarbaz') # -> nil
Matching paths can have various suffixes (‘.rb’, ‘.so’, and others), which may or may not already be attached to file. This method doesn’t care about the full filename that matches; only that there is a match.
# File lib/rubygems/gem_path_searcher.rb, line 48 def find(glob) # HACK violation of encapsulation @gemspecs.find do |spec| # TODO: inverted responsibility matching_file? spec, glob end end