module Authenticate::Modules
Modules
injects Authenticate
modules into the app User
model.
Modules
are loaded into the user model with class method `load_modules`. Authenticate::User
calls `load_modules`. Modules
are specified in the config as constants; `load_modules` requires them, turns them into constants, checks for required fields (see below), and then includes them into the user.
Any module being loaded into User
can optionally define a class method `required_fields(klass)` defining any required attributes in the User
model. For example, the :username module declares:
module Username extend ActiveSupport::Concern def self.required_fields(klass) [:username] end ...
If the model class is missing a required field, Authenticate
will fail with a MissingAttribute
error. The error will declare what required fields are missing.