2012-01-24 4 views
0

MacRubyを使ってMail.appに新しいメールをチェックするように伝えたい。しかし、私はSBApplicationを使用してアプリケーション参照を取得した後、これについてどうやって行くのか分かりません。Mail.appにMacRubyで新着メールを確認するように伝える

私は、次の単純なスクリプトがあります。

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

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

基本的に私はMacRubyの中で、次のAppleScriptをしたい:

tell application "Mail" 
    check for new mail 
end tell 

はい、私はちょうどAppleScriptを使用することができます。しかし、私はRubyをもっと好む。

答えて

3

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

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

先端:オブジェクトと祖先

+0

'mail.accounts.map'ために利用可能なココアのみメソッドのリストを返すputs (mail.methods(true,true) - Object.new.methods)を使用するのか?それは 'mail.accounts.each'ではありませんか? –

+0

はい、地図の代わりにそれぞれにする必要があります。それを変更しました:-) thx –

+0

@Sean:Cocoaのメソッドだけを得るための素晴らしいヒント。乾杯! – dbarros

関連する問題