search_with_source (Gem::SourceInfoCache)

    # File lib/rubygems/source_info_cache.rb, line 299
      def search_with_source(pattern, only_platform = false, all = false)
        read_all_cache_data if all

        results = []

        cache_data.map do |source_uri, sic_entry|
          next unless Gem.sources.include? source_uri

          # TODO - Remove this gunk after 2008/11
          unless pattern.kind_of?(Gem::Dependency)
            pattern = Gem::Dependency.new(pattern, Gem::Requirement.default)
          end

          sic_entry.source_index.search(pattern, only_platform).each do |spec|
            results << [spec, source_uri]
          end
        end

        results
      end