ActiveSupportのinquiryに初めて触れた
質問を受けたのですが知らなくて自分でも調べてみたやつ。
ActiveSupportのinquiryという機能
Railsガイドにも載っていて 以下のような記載があります。
inquiry
は、文字列をStringInquirer
オブジェクトに変換します。このオブジェクトを使うと、等しいかどうかをよりスマートにチェックできます。
https://railsguides.jp/active_support_core_extensions.html#inquiry
"production".inquiry.production? # => true "active".inquiry.inactive? # => false
となります。
手元で動かすと、説明通りStringInquirer
のオブジェクトでした。
"foo".inquiry.class # => ActiveSupport::StringInquirer
ちなみに定義まで見ていきます。
def inquiry ActiveSupport::StringInquirer.new(self) end
selfをwrapしているだけでした。
出来るだけ英語の意味も調べるようにしているのですが、inquiryは尋ねること・問い合わせ
という意味みたいです。
ちなみにRuboCop
https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsinquiry
リンク先見てもらえラバわかりますが、inquiry
メソッドを使用していないことを強制するルールもあります。
ActiveSupportの機能で使ったことないやつ結構あるみたいなので今度時間取って触ろうかな。