lib/sidekiq_unique_jobs/lock/client_validator.rb
# frozen_string_literal: true module SidekiqUniqueJobs class Lock # # Validates the sidekiq options for the Sidekiq client process # # @author Mikael Henriksson <mikael@zoolutions.se> # class ClientValidator # # @return [Array<Symbol>] a collection of invalid conflict resolutions INVALID_ON_CONFLICTS = [:raise, :reject, :reschedule].freeze # # Validates the sidekiq options for the Sidekiq client process # # def self.validate(lock_config) on_conflict = lock_config.on_client_conflict return lock_config unless INVALID_ON_CONFLICTS.include?(on_conflict) lock_config.errors[:on_client_conflict] = "#{on_conflict} is incompatible with the client process" lock_config end end end end