You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: base_service.rb
    path of file: ./repos/gitlabhq/app/services/integrations/slack_installation
    
    the code of the file until where you have to start completion: # frozen_string_literal: true

# Base class for services that handle enabling the GitLab for Slack app integration.
#
# Inheriting services should define these methods:
# - `#authorized?` return true if the user is authorized to install the app
# - `#redirect_uri` return the redirect URI for the OAuth flow
# - `#find_or_create_integration` find or create the Integrations::GitlabSlackApplication record
# - `#installation_alias` return the alias property for the SlackIntegr
    
      def update_other_installations!(installation)
        updatable_attributes = installation.attributes.slice(
          'user_id',
          'bot_user_id',
          'encrypted_bot_access_token',
          'encrypted_bot_access_token_iv',
          'updated_at'
        )

        SlackIntegration.by_team(installation.team_id).id_not_in(installation.id).each_batch do |batch|
          batch_ids = batch.pluck_primary_key
          batch.update_all(updatable_attributes)

          Integrations::SlackWorkspace::IntegrationApiScope.update_scopes(batch_ids, installation.slack_api_scopes)
        end
      end