ESM アジャイル事業部 開発者ブログ

永和システムマネジメント アジャイル事業部の開発者ブログです。

Ruby on Rails

Ruby on Rails に関する記事の一覧です。

Rails + minitest な環境で CircleCI の Rerun failed tests を有効化する手順

ふーが です。こんにちは! 明日はいよいよ大阪 Ruby 会議 03 ですね。 現地参加予定なので現地にいらっしゃる方はぜひお話ししましょう。弊社からも多くのメンバーが参加予定ですし、セッションの内容も興味をひかれるものばかりで今からとても楽しみです。…

Railsアプリケーションへの型導入と運用実例

こんにちは!ふーが です。 あっという間に 12 月ですね。12 月といえばアドベントカレンダー! ということでこの記事は ESM Advent Calendar 2022 の 6 日目の記事です! adventar.org この記事の目的 RBS が Ruby 本体にバンドルされるようになってからま…

Ruby や Rails の API ドキュメントを Dash で素早く検索しよう

この記事は、ESM アドベントカレンダー2022 の 2 日目の記事です。 adventar.org はじめに こんにちは、wai-doiです。 日頃 Rails の開発をしていて、メソッドを調べたりするときなどで API ドキュメントを参照することがよくあると思います。 ご存じの方も…

Railsでポリモーフィック関連を使った話(理由、必要な作業、注意点)

こんにちは、アジャイル事業部 9sako6 です。 私のいるプロジェクトで大きなエンハンスが行われ、その中で Polymorphic Association(ポリモーフィック関連) を使う場面がありました。 ポリモーフィック関連を選択した理由や行った作業、注意点について話し…

ぼくがかんがえたさいきょうの Input object

こんにちは。最近筋トレにはまっている wat-aro です。 blog.agile.esm.co.jp で Input object が紹介されていますが、実際に使っていくとネストしたパラメータの扱いに困ったためその解決方法を紹介します。 この記事のコードはすべて https://github.com/w…

Input object を使ってリクエストパラメータを検証する

はじめに Bonjour! 近ごろ Duolingo のフランス語コースにハマっている @ima1zumi です。 さて、最近リクエストパラメータにバリデーションをかけたいことがありました。そのために、ユーザの入力を検証する専用のクラスを作ると便利だったので紹介します。 …

Rubyで任意の文字列を削除するメソッドの速度を比較してみた

はじめに こんにちは、wai-doiです。 Railsアプリケーションを開発していて、文字列の削除をするコードを書くことがあると思います。 例えば以下のようなコードです。 zip_code = '123-4567' zip_code.gsub(/-/, '') #=> 1234567 この例では String#gsub を…

【Rails 6.1】AS 句で作ったカラムに DB の型情報はない

本記事の環境 Rails 6.1.1 結論 9sako6 です。突然ですが、 AS 句で作ったカラムに DB の型情報はありません。 次の例をご覧ください。スキーマに日時型で定義されている created_at カラムは TimeWithZone オブジェクトが返るのに対し、AS 句で作った lates…

CurrentAttributesを使ってリクエストごとのdefault_scopeを設定する

こんにちは、永和システムマネジメントに新卒で入社して4年目になりました swamp09 です。 この記事では、以前関わったRailsプロジェクトの default_scope のユースケースと実装例の話をします。 ユーザーが記事を投稿したり、記事にコメントしたりするWeb…

Rails 6.1 で導入される予定の delegated_type をつかってみてる話

こんにちわ。はじめまして。@kajisha です。 推しの Vtuber は、因幡はねる組長 かわいいおそろしいあくまでびでび・でびる様です。 最近は、風見くくさんのものまねが好きすぎてよく観てます。 初 3D 配信はほんとにクオリティが高いのでぜひ観てみてくださ…

実務コードレビューから新卒が得た学び(Developer Experience 編)

2020年度新卒、くさころ (9sako6)です。Rails アプリケーションのプロジェクトにアサインされてもうじき2ヶ月になり、その間に15くらいの Pull Request (以降、PR)を出しました。PR についたコメントは合計400弱、そのうちのある大きめの PR の Conversation…

graphql-batch でバックエンドへのクエリを減らす

こんにちは、hibariya です。最近 ミートアップ が開催されるなど、GraphQL が静かに注目を集めていますね。GraphQL は Web API で使えるクエリ言語です。GraphQL 自体は特定のデータベースに依存しないため、RDBMS を使ったアプリケーションで採用すること…

Rails5でミドルウェアの位置を変える

こんにちは、hibariya です。先日から、自分のかかわっている Rails アプリを 5.0.0 にアップグレードしています。そのときに意外な箇所でつまずいたことを書きたいと思います。なお、全体的なアップグレードについては公式の A Guide for Upgrading Ruby on…

Rails のリポジトリにはレポート用の再現コードテンプレートがある

わたしが参加しているプロジェクトでは、今 Rails 5.0.0.rc1 で開発をしています。 先日コードを書いている時、気になる挙動があり、Issue をあげました。 Issue には再現させるためのコード片を記載していました。 この時、コメントで反応を頂いて知ったの…