class CustomWizard::StepUpdater include ActiveModel::Model attr_accessor :refresh_required, :fields, :result, :step def initialize(current_user, wizard, step, fields) @current_user = current_user @wizard = wizard @step = step @refresh_required = false @fields = fields.to_h.with_indifferent_access @result = {} end def update if SiteSetting.custom_wizard_enabled && @step.present? && @step.updater.present? && success? @step.updater.call(self) UserHistory.create( action: UserHistory.actions[:custom_wizard_step], acting_user_id: @current_user.id, context: @wizard.id, subject: @step.id ) else false end end def success? @errors.blank? end def refresh_required? @refresh_required end end