def update!(resource, author, params, extra_log_info = {})
      perform_action!(:update, resource, author, extra_log_info) do
        resource.update!(params)
        resource
      end
    end
def update!(resource, author, params, extra_log_info = {})
      perform_action!(:update, resource, author, extra_log_info) do
        resource.update!(params)
        resource
      end
    end
Updates the `resource` with `update!` and sets the author of the version.

 resource - An ActiveRecord instance that implements `Decidim::Traceable`
 author - An object that implements `to_gid` or a String
 params - a Hash with the attributes to update to the resource
 extra_log_info - a Hash with extra info that will be saved to the log

 Returns the updated `resource`.