Emi Matchu
7f4c34ff6a
Ah right, I went and checked the Devise source code, and the default implementation for `password_required?` is a bit trickier than I expected: ```ruby def password_required? !persisted? || !password.nil? || !password_confirmation.nil? end ``` Looks like `super` does a good enough job here, though! (I'm actually kinda surprised, I wasn't sure how Ruby's `super` rules worked, and this isn't a subclass thing—or maybe it is, maybe the `devise` method adds a mixin? Idk! But it does what I expect, so, great!) So now, we require the password if 1) Devise doesn't see a UI reason not to, *and* 2) the user isn't using OmniAuth (i.e. NeoPass). This had caused a bug where it was impossible to use the Settings page *without* changing your password! (The form says it's okay to leave it blank, which stopped being true! But now it's fixed!) |
||
---|---|---|
.. | ||
environments | ||
initializers | ||
locales | ||
application.rb | ||
basic_type_hashes.yml | ||
boot.rb | ||
cable.yml | ||
credentials.yml.enc | ||
database.yml | ||
environment.rb | ||
locale_meta.yml | ||
routes.rb | ||
storage.yml |