9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

deviseのメソッドってどこで定義されてるの?GitHubで調べてみた

Posted at

はじめに

エンジニアのみなさま、日々の学習お疲れ様です。
また本記事まで足を運んでいただき本当に感謝です。

年末年始、暇すぎたのでRailsをずっと触っていました。deviseを使って「ログアウト」「ログイン」「サインアップ」の実装をしたのですが、deviseを使えば、数行書くだけで機能するのが便利すぎ。ありがたい……!
一方で、初学者がdeviseを使った時に、コードを数行書くだけで機能が実装できてしまう違和感も出るだろうなとも思ったので、どこを見れば確認できるのかを、簡単にまとめてみました。

deviseとは

Wardenを基盤とした認証ライブラリで、モジュール構成により柔軟な認証機能を提供します。パスワード認証、OmniAuth対応、確認・復旧・記憶・追跡・ロック・タイムアウト機能などを備えています。

今回使ったdeviseのメソッド

  1. ログアウト関連
    • after_sign_out_path_for
  2. サインアップ関連
    • configure_permitted_parameters

アプリ内を検索してみる

after_sign_out_path_forメソッドを実装したアプリケーション内で検索してみます。
検索でヒットしたのは実装で使った1件のみです。

スクリーンショット 2025-01-05 16.59.20.png

これだけだと、『このメソッドの詳細ってどこに書かれてるの?』が分からないですね。
学習初期だと『とりあえずログアウトできてるし、ログアウト後にログイン画面へ遷移してるからOK!』で先に進めてしまう人もいるのではないでしょうか?
僕はそうでした笑

deviseのGitHubを見てみる

『devise ドキュメント』や『devise GitHub』みたいにググると出てきます。

after_sign_out_path_forメソッドを検索してみます。

スクリーンショット 2025-01-05 17.15.38.png

5件ヒットしました。1番上の内容を見てみます。

スクリーンショット 2025-01-05 17.18.46.png

devise/lib/devise/controllers/helpers.rbファイルにafter_sign_out_path_forメソッドの詳細がちゃんと書かれてますね。

スクリーンショット 2025-01-05 17.20.34.png

after_sign_out_path_forメソッドは『サインアウト後のリダイレクト先を決定するためのメソッドなんだ(ざっくり)』となります。
何も情報がない時よりも少し理解度が深まります。

さいごに

公式ドキュメントやGitHubを読むと、新しい発見が多くて良いですね!
こんな便利なGemを開発できるエンジニアになりたい……

おまけ

弊社のご紹介もさせてください!

「日本で一番エンジニアが成長できる会社を創る」

エンジニアリングの募集

PM・Webディレクションの募集

セールス・事業開発の募集

コーポレート系の募集

コンサルティングの募集

弊社メンバーは日々学習した内容をアウトプットしております!
少しでもご興味を持たれた方は求人を見てみてください!
ご応募もお待ちしております!

最後までご覧いただき、ありがとうございました!

9
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?