Rails: `present?`より便利なActiveSupportの`presence`(翻訳)

概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Use the presence method - Andy Croll 原文公開日: 2018/08/19 著者: Andy Croll 日本語タイトルは内容に即したものにしています。 Rails: present?より便利なActiveSupportのpresence(翻訳) Active SupportはRubyのコアライブラリにメソッドをたくさん追加するので、何かと非難が集中します。特に評判がよろしくないのは、RubyのObjectクラスへのパッチです。 RubyのあらゆるオブジェクトはObjectのサブクラスなので、Objectクラスにメソッドを追加すればコードのあらゆるオブジェクトにそのメソッドが追加されることになります。 Active Supportでの拡張に関するドキュメントでもう少し詳しく見てみましょう。 そうしたメソッドのひとつが#presenceです。これはお馴染みの#blank?や#present?に比べて馴染みの薄いメソッドです。 次のように書くのではなく 変数の値を表示するのに、次のように長ったらしい条件を使う。 class User < ApplicationRecord validates :email, presence: true def friendly_name if nickname.present? nickname elsif given_name.present? given_name else email.split(‘@’).first end end end 次のように書く Active Supportの#presenceメソッドを使う class User < ApplicationRecord validates … Continue reading Rails: `present?`より便利なActiveSupportの`presence`(翻訳)