Class: Decidim::UpdateAccount
- Defined in:
- app/commands/decidim/update_account.rb
Overview
This command updates the user’s account.
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(user, form) ⇒ UpdateAccount
constructor
Updates a user’s account.
Methods inherited from Command
call, #evaluate, #method_missing, #respond_to_missing?, #transaction
Constructor Details
#initialize(user, form) ⇒ UpdateAccount
Updates a user’s account.
user - The user to be updated. form - The form with the data.
10 11 12 13 |
# File 'app/commands/decidim/update_account.rb', line 10 def initialize(user, form) @user = user @form = form end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Decidim::Command
Instance Method Details
#call ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'app/commands/decidim/update_account.rb', line 15 def call return broadcast(:invalid) unless @form.valid? update_personal_data update_avatar update_password if @user.valid? @user.save! notify_followers broadcast(:ok, @user.unconfirmed_email.present?) else [:avatar, :password, :password_confirmation].each do |key| @form.errors.add key, @user.errors[key] if @user.errors.has_key? key end broadcast(:invalid) end end |