2010-04-20 3 views

Répondre

9

Votre code d'exemple est presque là, il vous suffit d'utiliser file.attributes.mtime où vous aviez file.mtime.

Aussi, je suppose que le code dans la question était juste un exemple, mais pour qu'il s'exécute, vous devez également passer le nom d'utilisateur et mot de passe à start et passer le chemin ainsi que le modèle à glob. Ainsi, un exemple de travail serait:

Net::SFTP.start('some_server', 'mike', :password => 'secret') do |sftp| 
    sftp.dir.glob('.', '*').each do |file| 
    puts file.attributes.mtime 
    end 
end 

La valeur retournée par mtime sera le nombre de secondes écoulées depuis l'époque de sorte que vous pouvez passer à Time.at pour le convertir en un objet Time.

Si vous êtes curieux, les autres attributs disponibles de la même manière sont:

  • permissions
  • uid
  • gid
  • size
  • atime (date du dernier accès)
+0

Magnifique! Et excellente prise sur l'autre exemple de mésaventures. Merci Mike! – btelles

Questions connexes