【Ruby】rails-settings-cached gemのコードリーディング

rails-settings-cached gemについて、設定の読み出し方、値の更新の仕方などが興味があったので読んでみました。 github.com なお、rails-settings-cachedのバージョンは2.9.4です。 簡単なgemの使い方 ユーザーが以下のように設定ファイルを書くとSetting.a…

【Ruby】Banken gemのauthorize!を読む

はじめに bankenというgemを使って権限管理をしたことがあるのですが、どのように実現しているのか興味があったため、一番主要なauthorize!メソッドを読んでみました。 github.com bankenのバージョンは1.0.3です まとめ 全体的に非常にシンプルなコードで特…

Active Supportのメソッドを自前で実装して本物と比較してみた

RailsのActive Supportには便利なメソッドがたくさんあります。 ふと思いつきで、その便利メソッドを自分で実装して、Railsの実装と見比べたら何か気づきがありそうと思ってやってみました。 対象は、truncateメソッドです。(オプションはomissionだけ対応…

【Rails】sandbox_by_defaultのPRを読みながらRailsの設定の仕組みを少し読んだ

はじめに 先日、Railsガイドを読んでいたら、sandbox_by_defaultという設定がRails7.1から追加されたことを知りました。 本番環境での操作ミスを低減できるので良いなと感じ、早速業務で使っているアプリでもこの設定を有効にしました。 この設定ってどうい…

『オブジェクト指向設計実践ガイド』を2回目読んだら今度は理解できた

以前こんなブログを書きました。 blog.m-ito27.com 「勉強にはなった部分がたくさんあるが、意味が分からない点も多かったのでもう少し力をつけてまた読みたい」といったことを書きました。 ということで、約1年半経ったのでリベンジで読んでみました。 する…

【Rails】paranoiaで論理削除したレコードはユニーク制約バリデーションの対象外になる

paranoiaを使っているモデルでユニーク制約のバリデーションを設定すると、論理削除済みのレコードは制約の対象から外れます。(論理削除済みのアイテムとは重複が許される) その仕組みを理解するために少しgemのコードを読んで気づきがあったので記載しま…

違和感に耳を傾ける重要性

雑記です。 最近、「やってしまったなー」という出来事がありました。 違和感に目を瞑ってしまった とあるPull Request(PR)について、「あれ?あの部分考慮されていないかも?」と違和感を感じたことがありました。 ですが、そのPRは既にマージされていて…

【git hooks】pre-pushで特定のブランチへの誤pushを防止するようにした

はじめに リリース時にのみmasterにpushすることがあるんですが、これをリリース時以外にやってしまうとrevert操作などが必要になって結構面倒なことになります。 そこで、git hooksのpre-pushフックを使って特定のブランチへのpushの際に確認メッセージを表…

Railsガイドにきちんと目を通して新しい知識を得る - Rails のスレッドとコード実行編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Rails のスレッドとコード実行の章です。 rail…

Railsガイドにきちんと目を通して新しい知識を得る - Rails のキャッシュ機構編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Rails のキャッシュ機構の章です。 railsguide…

Railsガイドにきちんと目を通して新しい知識を得る - Rails の自動読み込みと再読み込み編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Rails の自動読み込みと再読み込みの章です。 …

Railsガイドにきちんと目を通して新しい知識を得る - アセットパイプライン編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、アセットパイプラインの章です。 railsguides.…

Railsガイドにきちんと目を通して新しい知識を得る - Rails アプリケーションの設定項目編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Rails アプリケーションの設定項目の章です。 …

Railsガイドにきちんと目を通して新しい知識を得る - Rails アプリケーションのデバッグ編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Rails アプリケーションのデバッグの章です。 …

Railsガイドにきちんと目を通して新しい知識を得る - Rails アプリケーションのエラー通知編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Rails アプリケーションのエラー通知の章です…

Railsガイドにきちんと目を通して新しい知識を得る - Rails セキュリティガイド編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Rails セキュリティガイドの章です。今回はセ…

GitHub Actionsを使って子供が産まれてからの週数を毎日LINEで通知する

先日子供が産まれたのですが、予防接種の問診票等で何週目か?や何ヶ月何日か?といった情報が頻繁に必要になります。 毎回計算するのが面倒だったのでLINEで毎日通知させることにしました。 定期実行はGitHub Actionsにやってもらうことにしました。 その方…

Railsガイドにきちんと目を通して新しい知識を得る - Rails 国際化(I18n)API編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Rails 国際化(I18n)APIの章です。 railsguid…

Railsガイドにきちんと目を通して新しい知識を得る - Active Job の基礎編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Active Job の基礎の章です。 railsguides.jp …

Railsガイドにきちんと目を通して新しい知識を得る - Action Text の概要編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Action Text の概要の章です。 railsguides.jp…

Railsガイドにきちんと目を通して新しい知識を得る - Action Mailer の基礎編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Action Mailer の基礎の章です。 railsguides.…

Railsガイドにきちんと目を通して新しい知識を得る - Active Support コア拡張機能編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Active Support コア拡張の章です。 railsguid…

Railsガイドにきちんと目を通して新しい知識を得る - Rails のルーティング編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Rails のルーティングの章です。 railsguides.…

Railsガイドにきちんと目を通して新しい知識を得る - Action Controller の概要編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Action Controller の概要の章です。 railsgui…

Railsガイドにきちんと目を通して新しい知識を得る - Action View フォームヘルパー編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Action View フォームヘルパーの章です。 rail…

Railsガイドにきちんと目を通して新しい知識を得る - Action View ヘルパー編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Action View ヘルパーの章です。 railsguides.…

Railsガイドにきちんと目を通して新しい知識を得る - レイアウトとレンダリング編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、レイアウトとレンダリングの章です。 railsgui…

Railsガイドにきちんと目を通して新しい知識を得る - Action View の概要編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Action View の概要の章です。 railsguides.jp…

Railsガイドにきちんと目を通して新しい知識を得る - Active Model の基礎編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Active Model の基礎の章です。 railsguides.j…

Railsガイドにきちんと目を通して新しい知識を得る - Active Record クエリインターフェイス編 -

ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Active Record クエリインターフェイスの章で…