Hi Rob, I think Colin answered this fairly well. Personally, I prefer to use GCD when available because I find the API simpler and GCD stuff works with or without run loops.
-- Mark On 2012-10-20, at 2:40 PM, Robert Carl Rice <rice.au...@pobox.com> wrote: > 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 <mr...@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.ros...@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@lists.macosforge.org >>> http://lists.macosforge.org/mailman/listinfo/macruby-devel >> >> _______________________________________________ >> MacRuby-devel mailing list >> MacRuby-devel@lists.macosforge.org >> http://lists.macosforge.org/mailman/listinfo/macruby-devel >> > > _______________________________________________ > MacRuby-devel mailing list > MacRuby-devel@lists.macosforge.org > http://lists.macosforge.org/mailman/listinfo/macruby-devel _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo/macruby-devel