def mirror( host, spec )
      specs = @local_repo.search_for( spec )
      raise ConflictError, "gem #{spec.full_name} already exists" unless specs.empty?

      repo = remote_repo_for( host )
      repo.open( spec ) do |io|
        @local_repo.add( io )
      end
      raise NotFoundError, "Unable to find gem #{spec.full_name} on #{host}" unless @local_repo.gem_file_exist?( spec )
      logger.info( "Downloaded #{spec.full_name} from #{host} and adding to repo" )
      return spec 
    end
def mirror( host, spec )
      specs = @local_repo.search_for( spec )
      raise ConflictError, "gem #{spec.full_name} already exists" unless specs.empty?

      repo = remote_repo_for( host )
      repo.open( spec ) do |io|
        @local_repo.add( io )
      end
      raise NotFoundError, "Unable to find gem #{spec.full_name} on #{host}" unless @local_repo.gem_file_exist?( spec )
      logger.info( "Downloaded #{spec.full_name} from #{host} and adding to repo" )
      return spec 
    end
:call-seq:
   repo.mirror( spec, host = "rubygems.org" ) -> SpecLite

 Mirror the gem described by spec on the +host+.  If no +host+
 is given, it is assumed to be http://rubygems.org/.