How to think like a Computer Scientist: Learning with Python is an excellent book for learning Python for the newbies. Here is another book similar to that for those who want to learn Ruby.
How to think like a computer scientist: Learning with Ruby is a book for those newbies who want to learn the basics of Ruby, Objects and how to use them for creating various data structures like linked list, stacks, queues, trees, heaps, maps, etc. It is still under development and will make a good book. Currently there is no downloadable PDF files. But you can wget the html files.