/tools/Ruby/lib/ruby/site_ruby/1.8/rubygems/commands/stale_command.rb
http://github.com/agross/netopenspace · Ruby · 27 lines · 23 code · 4 blank · 0 comment · 2 complexity · 90314b94478b94d5183dbf3e1e8ad3e1 MD5 · raw file
- 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