One thing that did take me a while to figure out was how to get TextMate to recognize environment variables. It turned out that I had no .bash_profile configured in my home directory, and TextMate sources this before it runs a script. So, in my case, I needed for TextMate to find Subversion. I created the following .bash_profile in my home directory:
[ -f /etc/profile ] && . /etc/profile
[ -f ~/.bashrc ] && . ~/.bashrc
After restarting TextMate, I was able to call svn from within my Ruby scripts inside of TextMate.