Railsのpresenceメソッドが便利

presenceメソッドとは?

presenceはpresent?がtrueなときにそのオブジェクト自体を返すメソッドです。presenceメソッドは下記のようにObjectに定義されているため、すべてのメソッドで利用することができます。

def presence
  self if present?
end

使い所

例えば、site_titleというWebページのタイトルを返すメソッドの場合、このような実装になるかと思います。

def site_title(title)
  title.present? ? title : 'サイト名'
end

これをpresenceを使うと下記のようになります。

def site_title(title)
  title.presence || 'サイト名'
end

すっきりしましたね。これは是非とも積極的に使いたいメソッドです。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする