Sha256: a75e3a7b9d21ccf7a4243f3a5d2b1f2962a0cbba0901ab106afa38dfe326f316

Contents?: true

Size: 962 Bytes

Versions: 40

Compression:

Stored size: 962 Bytes

Contents

# frozen_string_literal: true
require 'rubygems/command'

class Gem::Commands::StaleCommand < Gem::Command
  def initialize
    super('stale', 'List gems along with access times')
  end

  def description # :nodoc:
    <<-EOF
The stale command lists the latest access time for all the files in your
installed gems.

You can use this command to discover gems and gem versions you are no
longer using.
    EOF
  end

  def usage # :nodoc:
    "#{program_name}"
  end

  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
end

Version data entries

40 entries across 40 versions & 2 rubygems

Version Path
rubygems-update-3.0.9 lib/rubygems/commands/stale_command.rb
rubygems-update-2.7.11 lib/rubygems/commands/stale_command.rb
rubygems-update-3.0.8 lib/rubygems/commands/stale_command.rb
rubygems-update-3.0.7 lib/rubygems/commands/stale_command.rb
rubygems-update-3.0.6 lib/rubygems/commands/stale_command.rb
rubygems-update-3.0.5 lib/rubygems/commands/stale_command.rb
rubygems-update-3.0.4 lib/rubygems/commands/stale_command.rb
rubygems-update-2.7.10 lib/rubygems/commands/stale_command.rb
rubygems-update-2.7.9 lib/rubygems/commands/stale_command.rb
rubygems-update-3.0.3 lib/rubygems/commands/stale_command.rb
rubygems-update-3.0.2 lib/rubygems/commands/stale_command.rb
rubygems-update-3.0.1 lib/rubygems/commands/stale_command.rb
rubygems-update-3.0.0 lib/rubygems/commands/stale_command.rb
rubygems-update-2.7.8 lib/rubygems/commands/stale_command.rb
rubygems-update-2.7.7 lib/rubygems/commands/stale_command.rb
rubygems-update-2.7.6 lib/rubygems/commands/stale_command.rb
rubygems-update-2.7.5 lib/rubygems/commands/stale_command.rb
rubygems-update-2.7.4 lib/rubygems/commands/stale_command.rb
rubygems-update-2.7.4.pre1 lib/rubygems/commands/stale_command.rb
rubygems-update-2.7.3 lib/rubygems/commands/stale_command.rb