Why does it use empty.rb if the attributes count is not even?