Module: Sxn::Config

Defined in:
lib/sxn/config.rb,
lib/sxn/config/config_cache.rb,
lib/sxn/config/config_discovery.rb,
lib/sxn/config/config_validator.rb,
lib/sxn/config/templates_config.rb

Defined Under Namespace

Classes: ConfigCache, ConfigDiscovery, ConfigValidator, Manager, TemplatesConfig

Class Method Summary collapse

Class Method Details

.current(cli_options: {}) ⇒ Hash

Get current configuration

Parameters:

  • cli_options (Hash) (defaults to: {})

    Command-line options

Returns:

  • (Hash)

    Current configuration



230
231
232
# File 'lib/sxn/config.rb', line 230

def current(cli_options: {})
  manager.config(cli_options: cli_options)
end

.get(key_path, default: nil) ⇒ Object

Get configuration value

Parameters:

  • key_path (String)

    Dot-separated key path

  • default (Object) (defaults to: nil)

    Default value

Returns:

  • (Object)

    Configuration value



215
216
217
# File 'lib/sxn/config.rb', line 215

def get(key_path, default: nil)
  manager.get(key_path, default: default)
end

.invalidate_cacheBoolean

Invalidate cache

Returns:

  • (Boolean)

    Success status



250
251
252
# File 'lib/sxn/config.rb', line 250

def invalidate_cache
  manager.invalidate_cache
end

.managerManager

Global configuration manager instance

Returns:

  • (Manager)

    Configuration manager



207
208
209
# File 'lib/sxn/config.rb', line 207

def manager
  @manager ||= Manager.new
end

.reload(cli_options: {}) ⇒ Hash

Reload configuration

Parameters:

  • cli_options (Hash) (defaults to: {})

    Command-line options

Returns:

  • (Hash)

    Reloaded configuration



237
238
239
# File 'lib/sxn/config.rb', line 237

def reload(cli_options: {})
  manager.reload(cli_options: cli_options)
end

.reset!Object

Reset global manager (for testing)



255
256
257
# File 'lib/sxn/config.rb', line 255

def reset!
  @manager = nil
end

.set(key_path, value) ⇒ Object

Set configuration value

Parameters:

  • key_path (String)

    Dot-separated key path

  • value (Object)

    Value to set

Returns:

  • (Object)

    The set value



223
224
225
# File 'lib/sxn/config.rb', line 223

def set(key_path, value)
  manager.set(key_path, value)
end

.valid?(cli_options: {}) ⇒ Boolean

Check if configuration is valid

Parameters:

  • cli_options (Hash) (defaults to: {})

    Command-line options

Returns:

  • (Boolean)

    True if valid



244
245
246
# File 'lib/sxn/config.rb', line 244

def valid?(cli_options: {})
  manager.valid?(cli_options: cli_options)
end