Sha256: b056d07850b5be848d15386457d1e43386e71991a87eff59055a188a39ad4977

Contents?: true

Size: 707 Bytes

Versions: 4

Compression:

Stored size: 707 Bytes

Contents

require 'rubygems/command'

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

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

  def execute
    gem_to_atime = {}
    Gem.source_index.each do |name, spec|
      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

4 entries across 4 versions & 1 rubygems

Version Path
shoesgem-0.1430.0 shoes/ruby/lib/rubygems/commands/stale_command.rb
shoesgem-0.1429.0 shoes/ruby/lib/rubygems/commands/stale_command.rb
shoesgem-0.1428.0 shoes/ruby/lib/rubygems/commands/stale_command.rb
shoesgem-0.1426.0 shoes/ruby/lib/rubygems/commands/stale_command.rb