Ruby 1.8 throws IndexError instead of KeyError