Module: GlobalRegistry::Bindings::Workers

Defined in:
lib/global_registry_bindings/workers/pull_mdm_id_worker.rb,
lib/global_registry_bindings/workers/push_entity_worker.rb,
lib/global_registry_bindings/workers/delete_entity_worker.rb,
lib/global_registry_bindings/workers/push_relationship_worker.rb

Overview

:nodoc:

Defined Under Namespace

Classes: DeleteEntityWorker, PullMdmIdWorker, PushEntityWorker, PushRelationshipWorker

Class Method Summary collapse

Class Method Details

.mdm_worker_class(model_class) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/global_registry_bindings/workers/pull_mdm_id_worker.rb', line 8

def self.mdm_worker_class(model_class)
  worker_class_name = model_class.global_registry_entity.mdm_worker_class_name
  return const_get worker_class_name if const_defined? worker_class_name

  klass = Class.new(PullMdmIdWorker) do
    sidekiq_options unique: :until_timeout, unique_expiration: model_class.global_registry_entity.mdm_timeout
  end

  const_set worker_class_name, klass

  if Rails.gem_version < Gem::Version.new('7') # only works with "classic" loader, not zeitwerk
    ActiveSupport::Dependencies.mark_for_unload(klass)
  end

  klass
end