class Gem::Commands::StaleCommand - Documentation for Ruby 3.3

# class Gem::Commands::StaleCommand

### Public Class Methods

new() click to toggle source
Calls superclass method `Gem::Command::new`

    # File lib/rubygems/commands/stale_command.rb, line 6
    def initialize
      super("stale", "List gems along with access times")
    end

### Public Instance Methods

execute() click to toggle source

    # File lib/rubygems/commands/stale_command.rb, line 24
    def execute
      gem_to_atime = {}
      Gem::Specification.each do |spec|
        name = spec.full_name
        Dir["#{spec.full_gem_path}/**/*.*"].each do |file|
          next if File.directory?(file)
          stat = File.stat(file)
          gem_to_atime[name] ||= stat.atime
          gem_to_atime[name] = stat.atime if gem_to_atime[name] < stat.atime
        end
      end

      gem_to_atime.sort_by {|_, atime| atime }.each do |name, atime|
        say "#{name} at #{atime.strftime "%c"}"
      end
    end