Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

ActiveSupport | Extensions to All Objects | blank?/present?

概要

Object#blank?/present?

詳細

Object#blank?/present?について

Object#blank?

false、nil、スペース文字のみの文字列、空のHash、空の配列、対象クラスにempty?が実装されていてtrueを返した場合に真を返す。

Object#present?

blank?の反対。実際に実装を見てもblank?を反転しているだけ。

OSSコードリーディング

Object#blank?はempty?が実装されていればそのまま利用し、なければselfが偽を返すかどうかを判定しているのみ。
残りは他のクラスをオープンしてblank?メソッドを実装している。
NilClass、FalseClass、TrueClass、Array、Hash、String、Numeric。