Ruby

【Ruby】存在確認メソッドblank?とpresent?はRuby単体では使えなかった話

Ruby

 

今回はオブジェクトの存在確認を行うメソッド「blank?」と「present?」がRuby単体コードでは使えなかったことについて備忘録としてまとめておきます。

タイトル通りの話なのでさらっと流して見ていただけると。

存在確認メソッド4選

Rails(Ruby)の代表的なオブジェクトの存在確認メソッドは以下の4つ。

  • nil?
  • empty?
  • blank?
  • present?

 

それぞれの用途を簡単にまとめると以下の通りになります。

  • nil?は存在そのものがあるかどうかを確認するメソッド
  • empty?は入れ物は存在するが中身があるかどうかを確認するメソッド
  • blank?は入れ物と中身の存在確認をするメソッド(nil?とempty?の組み合わせ)
  • present?はblank?と反対の意味を持つメソッド

Rubyではblank?とpresent?が使えない

Ruby単体コードではblank?メソッドとpresent?メソッドを使用することはできません。

理由は簡単で、nil?とempty?はRubyの標準メソッドである一方、blank?とpresent?はRailsで拡張されたメソッドであるためです。

Railsドキュメントに記載がありましたので、リンクを貼っておきます。

Railsドキュメント アクティブサポートとは

まとめ

  • Ruby単体コードではblank?メソッドとpresent?メソッドは使用できない
  • nil?とempty?はRubyの標準メソッドである一方で、blank?とpresent?はRailsで拡張されたメソッドである

参考

 

 

今回はオブジェクトの存在確認を行うメソッド「blank?」と「present?」がRuby単体コードでは使えないことについて備忘録としてまとめてみました。改めてRailsの便利さに気付かされた出来事になりました。