Thanks for finding the time to look things over, and thanks for the
kind words. It certainly could use some reorganization but it's come a
long way from where it was back in Aug/Sep.
I'm not sure I think it will be absolutely terrible to rejig for async
while maintaining synchronous support. It may, I guess I'm about to
find out shortly, the next time I feel up to spending a few hours I'll
be doing prep-work for my ideas to have sync and async play nice
together for finders alone, which will be the trial run. If that
proves successful, I'll abstract out the stack mechanism for recursive
asynchronous calls so it's reusable across save and destroy scenarios
as well.
The only real crazy hang-ups (other than I'm not sure how performance
will be after rejigging to use the stack, either async or sync usage)
I foresee are migrations (which I think I've mentioned before) and
validatesUniquenessOf, which is the only validation method which
incurs a db hit currently. Barring these two obstacles or nasty
performance hits, I think my stack mechanism will work for both sync
and async with minimal code bloat.
Thanks again for having a look and for the praise. I look forward to
more contributions and would love to hear from anyone who's actually
using it in terms of features they find useful or would need.
On that note, we plan on implementing a few new niceties in the near
future (most likely post-async): optional cascading destroy to
specified associations and a few more handy shortcuts for migrations.
Man, I hope migrations won't have to change much for async! My feeling
is if anything, they are the most likely feature to require two
separate codebases...