Class: Kaal::Backend::DispatchRegistryAccessor

Inherits:
Object
  • Object
show all
Defined in:
lib/kaal/backend/dispatch_registry_accessor.rb,
sig/kaal/backend/dispatch_registry_accessor.rbs

Overview

Reads dispatch registry state through the configured backend adapter.

Instance Method Summary collapse

Constructor Details

#initialize(configuration:) ⇒ DispatchRegistryAccessor

Returns a new instance of DispatchRegistryAccessor.

Parameters:

  • configuration: (Kaal::rbs_any)


11
12
13
# File 'lib/kaal/backend/dispatch_registry_accessor.rb', line 11

def initialize(configuration:)
  @configuration = configuration
end

Instance Method Details

#dispatched?(key, fire_time) ⇒ Boolean

Parameters:

  • key (Kaal::rbs_any)
  • fire_time (Kaal::rbs_any)

Returns:

  • (Boolean)


15
16
17
18
19
20
21
22
23
# File 'lib/kaal/backend/dispatch_registry_accessor.rb', line 15

def dispatched?(key, fire_time)
  registry = fetch_registry
  return false unless registry

  registry.dispatched?(key, fire_time)
rescue StandardError => e
  @configuration.logger&.warn("Error checking dispatch status for #{key}: #{e.message}")
  false
end

#fetch_registry ⇒ nil, Kaal::rbs_any

Returns:

  • (nil, Kaal::rbs_any)


34
35
36
37
38
39
40
# File 'lib/kaal/backend/dispatch_registry_accessor.rb', line 34

def fetch_registry
  adapter = @configuration.backend
  return nil unless adapter
  return nil unless adapter.respond_to?(:dispatch_registry)

  adapter.dispatch_registry
end

#registry ⇒ Kaal::rbs_any

Returns:

  • (Kaal::rbs_any)


25
26
27
28
29
30
# File 'lib/kaal/backend/dispatch_registry_accessor.rb', line 25

def registry
  fetch_registry
rescue StandardError => e
  @configuration.logger&.warn("Error accessing dispatch registry: #{e.message}")
  nil
end