Method: Gem::Commands::StaleCommand#execute

Defined in:
lib/rubygems/commands/stale_command.rb

#executeObject



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 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