From http://learnxinyminutes.com/docs/ruby/