Class: Olyx::Guardrails::Rails::ConfigurationRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/olyx/guardrails/rails/configuration_registry.rb

Overview

Owns the Rails adapter's boot configuration lifecycle.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfigurationRegistry

Returns a new instance of ConfigurationRegistry.



12
13
14
# File 'lib/olyx/guardrails/rails/configuration_registry.rb', line 12

def initialize
  @configuration = Configuration.new
end

Instance Attribute Details

#configurationObject (readonly)

Returns the value of attribute configuration.



10
11
12
# File 'lib/olyx/guardrails/rails/configuration_registry.rb', line 10

def configuration
  @configuration
end

Instance Method Details

#configureObject



16
17
18
19
20
21
22
# File 'lib/olyx/guardrails/rails/configuration_registry.rb', line 16

def configure(**)
  if configuration.finalized?
    raise ConfigurationError, 'Olyx Guardrails Rails configuration is already finalized'
  end

  @configuration = Configuration.new(**)
end

#finalize!(environment:) ⇒ Object



24
25
26
# File 'lib/olyx/guardrails/rails/configuration_registry.rb', line 24

def finalize!(environment:)
  configuration.finalize!(environment: environment)
end

#readyObject



28
29
30
31
32
# File 'lib/olyx/guardrails/rails/configuration_registry.rb', line 28

def ready
  finalize!(environment: current_environment) unless configuration.finalized?
  configuration.ensure_enabled!
  configuration
end