1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/lib/rubygems/commands/stale_command.rb
ryan d22130922e Import rubygems 1.8.5 (released @ 137c80f)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-01 03:45:05 +00:00

34 lines
1 KiB
Ruby

######################################################################
# This file is imported from the rubygems project.
# DO NOT make modifications in this repo. They _will_ be reverted!
# File a patch instead and assign it to Ryan Davis or Eric Hodel.
######################################################################
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::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