I think you should have this be return true if options.empty? as the first line and you should implement the options to be empty if there are none of these conditions being set.