Difference Between nil?, empty?, blank?, and present? in Ruby