7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/ruby_reactor/web/coordination_serializer.rb', line 7
def build(reactor_class, inputs:, context_id:)
return {} unless reactor_class
adapter = RubyReactor.configuration.storage_adapter
normalized_inputs = normalize_inputs(inputs)
result = {}
if reactor_class.lock_config
result[:lock] = build_lock(reactor_class.lock_config, normalized_inputs, context_id, adapter)
end
if reactor_class.semaphore_config
result[:semaphore] = build_semaphore(reactor_class.semaphore_config, normalized_inputs, adapter)
end
if reactor_class.rate_limit_config
result[:rate_limit] = build_rate_limit(reactor_class.rate_limit_config, normalized_inputs, adapter)
end
if reactor_class.period_config
result[:period] = build_period(reactor_class.period_config, normalized_inputs, adapter)
end
result
end
|