2012-01-24 3 views
0

Je souhaite utiliser MacRuby pour indiquer à Mail.app de rechercher de nouveaux messages. Mais je ne peux pas comprendre comment y arriver après avoir obtenu une référence d'application en utilisant SBApplication.Dites à Mail.app de vérifier les nouveaux messages avec MacRuby

J'ai le script simple suivant:

#!/usr/local/bin/macruby 
framework 'ScriptingBridge' 

mail = SBApplication.applicationWithBundleIdentifier("com.apple.mail") 
# mail.check_for_new_mail? 

Fondamentalement, je veux faire ce qui suit AppleScript MacRuby:

tell application "Mail" 
    check for new mail 
end tell 

Oui, je peux simplement utiliser le AppleScript. Mais je préfère de loin Ruby.

Répondre

3

#!/usr/local/bin/macruby 
framework 'ScriptingBridge' 

mail = SBApplication.applicationWithBundleIdentifier("com.apple.mail") 
mail.accounts.each {|account| mail.checkForNewMailFor(account) } 

pointe: utiliser puts (mail.methods(true,true) - Object.new.methods) qui retourne le cacao disponible uniquement la liste des méthodes pour objet et ancêtres

+0

'mail.accounts.map'? Cela ne devrait-il pas être 'mail.accounts.each'? –

+0

oui il devrait être chacun à la place de la carte; l'a changé :-) thx –

+0

@Sean: Bon conseil pour obtenir les méthodes Cocoa seulement aussi. À votre santé! – dbarros

Questions connexes