Rails third party
devise
deviseとはRailsアプリケーションに柔軟な認証機能を追加するためのライブラリ。 deviseを理解するには、下記の点を抑えておくと良い。
- Railsエンジンの仕組みを利用している
- 認証機能毎にモジュールがある
- 導入するだけで利用できるメソッドがある
current_user
の利用しており、他のgemでもdefaultでcurrent_userを用いる。
Railsエンジンとは
エンジン (engine) は、ホストとなるRailsアプリケーションに機能を提供するミニチュア版Railsアプリケーションとみなせます。この場合、ホストとなるRailsアプリケーションは、実際にはエンジンに「ターボをかけた」ようなものにすぎず、Rails::ApplicationクラスはRails::Engineから多くの振る舞いを継承します。 すなわち、エンジンとアプリケーションは、細かな違いを除け ばほぼ同じものであると考えていただいてよいでしょう。 とりあえずは Rails エンジンが、基本的な構成が Railsのアプリケーションと同様、ということをとりあえずは抑えておけばよいでしょう。
deviseは認証機能ごとに複数のモジュールに分かれている。 認証と言っても必要な機能はさまざま。
- ユーザーを新規に登録する
- パスワードを忘れたらリセットする
- メールアドレスにバリデーションを追加する などの機能のこと。それぞれにモジュールが用意されている。