ActiveRecord::Relation#pick
をRails 5系とRails 4.2で使えるようにバックポートするGemを勝手に作りました。https://github.com/yujideveloper/activerecord-pick
ActiveRecord::Relation#pick
とは
DHHがPRしていたPerson.where(id: 1).limit(1).pluck(:name).first
みたいなのをPerson.where(id: 1).pick(:name)
のように書けるようにするものです。特定のレコードのとあるカラムの値だけほしいとか稀によくあるやつを解消するやつです。
なぜ作ったか
僕がお仕事とかで使いたいケースがいくつか思いついたからです。普通に便利そうなのでRails 6を待たずに早く使いたいですよね。モンキーパッチ書いて使えるようにしても良かったのですがどうせならGemにしたいよねってことで。
これを作ってるときに
ActiveRecord::Base.pick
がActiveRecord::Base.all
にdelegate
されてないことに気付いて初めてRailsにPRしてみたりしました。速攻取り込まれてうれしかったです。何か気づいた点などありましたらPRお待ちしています。
0 件のコメント:
コメントを投稿