"ActiveRecordの力でDBのメタデータを迅速に解析する" Reject on Rails 2024 での登壇資料です。 https://gotanda-rb.connpass.com/event/330965/ 実装したgemはこちら https://github.com/ln…
あるキーに対して値(バリュー)を持つ、いわゆるキーバリューのようなデータ構造はプログラミングでよく使います。Rubyでそれを扱うには複数の選択肢(Hash、Struct、OpenStruct、Data、Class)があり、Ruby on Railsを使う場合さらにActiveModel、ActiveRecordもあります。この記事では私の知っている特徴と、使いわけを紹介します。 こちらはRuby Advent Calendar 2024の12/6日分の記事です。 Rubyアドベントカレンダー6日目に書けたわけではありませんが、Rubyに関係ある記事をタイミングよく公開することになったのと、せっかくなら自分が好きな言語のカレンダーを埋めたい気持になったので参加しました! 私はこう判断してます RDBの読み書きに使いたい? 同じ値を保持しているなら同じ物と考えたい? Hashの柔軟さを制限した
3行で できるだけ「文字列指定」ではなく「キー指定」を使いましょう where句にてテーブル名を指定するのは極力避けましょう activerecord-pretty-comparator gem を使うことで、文字列指定を使わざるを得なかった > もキー指定で書けます はじめに この記事では where('ends_at > ?', Time.current) のような書き方を「文字列指定」、 where(starts_at: ...Time.current) のような書き方を「キー指定」と呼びます 株式会社グロービスのslackにかみぽさんにJOINいただいており、不定期にRailsの困りごとを 壁打ち/相談 させていただいています この記事に出てくるコードは、実際のプロダクトコードをベースにしつつ問題を再現する最小のケースとして書いてみました Kaigi on RailsにCFP出した
2024.12.24 Rails: PORO の attribute に対して ActiveRecord::Enum 風の実装をする 先日業務中に遭遇したちょっとした疑問から ActiveRecord::Enum っぽい実装を POROで再現するアレコレを試してみたくなったのでこの記事を書き起こしてみました。 enum についてはそもそも ActiveRecord::Enum の宣言の仕方からして色々なパターンがあったり、PostgreSQL での enum 型の存在もあったりで Enum 全般での解説、深掘り記事もいつか書いてみたい気持ちもあるのですが、今回は思い立ったが吉日と言うことで、あえて何故かいきなり王道の話題から外れたところに話を絞っていきたいと思います。 (ところで校正してる時に気付きましたが ActiveModel::Enum を導入してみようとする試みとそれを拒否した議論
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く