# Copyright (C) 2024 Manuel Bustillo module Guests class UpdateUseCase private attr_reader :guest_ids, :params def initialize(guest_ids:, params:) @guest_ids = guest_ids @params = params end def call Guest.where(id: guest_ids).update!(params) # TODO: Not all status transitions may require a table re-arrangement return unless params.key?(:status) TablesArrangement.delete_all ActiveJob.perform_all_later(50.times.map { TableSimulatorJob.new }) end end end