method

map_gems_to_specs

Importance_0
v2_1_10 - Show latest stable - 0 notes - Class: Indexer
map_gems_to_specs(gems) public

No documentation

This method has no description. You can help the Ruby community by adding new notes.

Hide source
# File lib/rubygems/indexer.rb, line 213
  def map_gems_to_specs gems
    gems.map { |gemfile|
      if File.size(gemfile) == 0 then
        alert_warning "Skipping zero-length gem: #{gemfile}"
        next
      end

      begin
        spec = Gem::Package.new(gemfile).spec
        spec.loaded_from = gemfile

        # HACK: fuck this shit - borks all tests that use pl1
        # if File.basename(gemfile, ".gem") != spec.original_name then
        #   exp = spec.full_name
        #   exp << " (#{spec.original_name})" if
        #     spec.original_name != spec.full_name
        #   msg = "Skipping misnamed gem: #{gemfile} should be named #{exp}"
        #   alert_warning msg
        #   next
        # end

        abbreviate spec
        sanitize spec

        spec
      rescue SignalException => e
        alert_error "Received signal, exiting"
        raise
      rescue Exception => e
        msg = ["Unable to process #{gemfile}",
               "#{e.message} (#{e.class})",
               "\t#{e.backtrace.join "\n\t"}"].join("\n")
        alert_error msg
      end
    }.compact
  end
Register or log in to add new notes.