[MacRuby-devel] Basic delayed email method

Robert Carl Rice rice.audio at pobox.com
Sat Oct 20 11:40:02 PDT 2012


Hi Mark,

I use NSTimer a lot in my apps. What is the advantage of using GCD API?

There is an excellent tutorial on the web for specifically for setting up ScriptingBridge for Apple Mail but I forget where I saw it. On warning; if you set up ScriptingBridge for Apple Mail don't try to take a snapshot in Xcode 4. Xcode will follow the link to mail and include all of your mailboxes in the snapshot. I don't know if there is a way to stop this behavior.

Bob Rice

On Oct 19, 2012, at 6:50 PM, Mark Rada <mrada at marketcircle.com> wrote:

> Busy looping for an hour would be really bad. I assume you would have a sleep in there, but then you're still polling.
> 
> If you are using MacRuby, looking at the GCD API would be a good idea. You could do something like this:
> 
> def schedule_email q
>    q.after(3600) do
>        # Send email
>        schedule_email q
>    end
> end
> 
> schedule_email Dispatch::Queue.new("com.rosson.delayed.email")
> 
> NSRunLoop.currentRunLoop.run
> 
> 
> 
> As for actually sending emails, if you want to have things go through Apple Mail you could use the ScriptingBridge framework which has a few tutorials online (but for iTunes):
> 
> http://arstechnica.com/apple/2011/09/tutorial-os-x-automation-with-macruby-and-the-scripting-bridge/
> 
> AXElements is another option that I am biased in favour of; but it may not be passive enough for your requirements.
> 
> HTH,
> 	Mark
> 
> 
> On 2012-10-19, at 6:12 PM, Cliff Rosson <cliff.rosson at gmail.com> wrote:
> 
>> Hi Everyone,
>> 
>> I am fairly new to macruby and am having trouble finding some basic documentation to help me out. I would like to write a simple app that sends a delayed email based on Time from mac mail.
>> 
>> I am thinking of something like this,
>> 
>> time = Time.now + 3600
>> while true
>>  case time
>>  when Time.now
>>    #Send email
>>  end
>> end
>> 
>> Being able to respond to certain emails or send an email from a draft would be a huge benefit. Can anyone point me in the write direction to accomplish this? I am decently proficient in ruby but don't know where to start with MacRuby.
>> 
>> Thanks everyone
>> 
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo/macruby-devel
> 
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo/macruby-devel
> 



More information about the MacRuby-devel mailing list