In Java, I have used Prevayler in a previous project (about 2 years ago), and I really liked it:
http://sourceforge.net/projects/prevayler/
The reason I'm not using it right now is because Hibernate makes OO mapping so easy and trivial that I honestly don't see the need. But it still a good solution if using a DB is an overkill.
I believe there's a Prevayler port for Ruby.