I followed jcotter's instructions exactly, and it worked for ruby 1.9.2, but not for 1.8.7. It turns out there was a bug in rvm and it wasn't properly accepting the architecture flags for ruby 1.8.* (https://github.com/wayneeseguin/rvm/issues/408).
Here's how I got it working for ruby 1.8.7:
installed the 32 bit instant client
$ bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
$*rvm_architectures="-arch i386"* rvm_archflags="-arch i386" CFLAGS="-arch i386" LDFLAGS="-arch i386" rvm install 1.8.7 --patch osx-arch-fix -n i386
$rvm use ruby-1.8.7-p352-i386
$gem install ruby-oci8
I think the only architecture flag needed is rvm_architectures="-arch i386" but I'm not sure, and the other flags didn't hurt anything. Also, I'm guessing both reinstalling rvm AND doing rvm get may be redundant, but hey, this is what I did to get ruby 1.8.7 working with ruby-oci8