def available
      return @available if defined?(@available)

      # only keep most recent version in @available
      @available = []
      load_available_specs.each do |spec|
        if prev = @available.find { |w| w.name == spec.name }
          if prev.version < spec.version
            @available.delete(prev)
            @available << spec
          end
        else
          @available << spec
        end
      end
      @available
    end
def available
      return @available if defined?(@available)

      # only keep most recent version in @available
      @available = []
      load_available_specs.each do |spec|
        if prev = @available.find { |w| w.name == spec.name }
          if prev.version < spec.version
            @available.delete(prev)
            @available << spec
          end
        else
          @available << spec
        end
      end
      @available
    end
Most recent gem specifications of all wagons available in GEM_HOME.