Summary:
Only use >>unless<< in statement modifiers and without else.
The long story:
I went last week to Ruby Nation, and during one talk, the speaker made a big point on how one should try to learn idiomatic ruby. Then he went through a number of examples on what idioms one should be using. That was a great talk for me, and I am already trying to apply the principles that he gave, such as method_names_with_underscore, using attr_accessor (which are awesome) and using hashes for configuration files.
Today I had the fortune to work on a ruby script for work retrieving a file from a network. I already had written
if !File.exists? foo then
when I realized that this could be the place where an unless should be used. However, how exactly do I use it?
After googleing it, I found this nice page that seems very sensible for me on how to use unless in ruby, which the author, John Nunemaker, says it is abused.
http://railstips.org/2008/12/1/unless-the-abused-ruby-conditional