概要
punditのコードリーディングをする。
準備
- punditのリポジトリをクローンする
git clone git@github.com:varvet/pundit.git
コードリーディング
権限を適用するときに使うauthorizeメソッドを見ていく。
- authorize
- varvet/pundit/blob/main/lib/pundit.rb#L75
- モジュールのクラスメソッドとして定義されている
- varvet/pundit/blob/main/lib/pundit/context.rb#L55
- 実際の処理は
Pundit::Contextクラスのauthorizeメソッドで行われている - ここでpolicyをチェックして、権限を判定している
- 実際の処理は
拍子抜けするくらいシンプルな実装だった。