2012-01-24 1 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 

예, 그냥 애플 스크립트를 사용할 수

나는 다음과 같은 간단한 스크립트가 있습니다. 그러나 나는 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 : 코코아 만의 방법을 얻기위한 훌륭한 팁. 건배! – dbarros