Class: Kaal::Definitions::RegistryAccessor

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

Overview

Resolves the active definition registry with an in-memory fallback.

Instance Method Summary collapse

Constructor Details

#initialize(configuration:, fallback_registry_provider:) ⇒ RegistryAccessor

Returns a new instance of RegistryAccessor.

Parameters:

  • configuration: (Kaal::rbs_any)
  • fallback_registry_provider: (Kaal::rbs_any)


11
12
13
14
# File 'lib/kaal/definitions/registry_accessor.rb', line 11

def initialize(configuration:, fallback_registry_provider:)
  @configuration = configuration
  @fallback_registry_provider = fallback_registry_provider
end

Instance Method Details

#call ⇒ Kaal::rbs_any

Returns:

  • (Kaal::rbs_any)


16
17
18
19
20
21
22
23
24
# File 'lib/kaal/definitions/registry_accessor.rb', line 16

def call
  configured_backend = @configuration.backend
  registry = configured_backend&.definition_registry
  return registry if registry

  fallback_registry
rescue NoMethodError
  fallback_registry
end

#fallback_registry ⇒ Kaal::rbs_any

Returns:

  • (Kaal::rbs_any)


28
29
30
# File 'lib/kaal/definitions/registry_accessor.rb', line 28

def fallback_registry
  @fallback_registry_provider.call
end