blank?、present?、nil?、empty?とは
nil?
変数の値がnilまたは、値なしの場合、真となります。
empty?
変数の値が""(文字列の場合)や値が空白の場合、真となります。
nil?との違いは、empty?は変数の値はあることはあるが、その値が空を示している、という点です。
blank?
nil?が真となる場合、または、empty?が真となる場合に、blank?は真となります。
簡単に言えば、blank?は値といえるものがない場合、真となります。
present?
present?は、blank?全く逆の動作をします。present?は、値といえるものがある場合、真となります。
ちなみにnilに対してto_sメソッドを実行したものが''になる。
nil.to_s == ''
=>true