Module: MywayConfig

Defined in:
lib/myway_config.rb,
lib/myway_config/base.rb,
lib/myway_config/version.rb,
lib/myway_config/config_section.rb,
lib/myway_config/loaders/defaults_loader.rb,
lib/myway_config/loaders/xdg_config_loader.rb

Defined Under Namespace

Modules: Loaders Classes: Base, ConfigSection, ConfigurationError, Error, ValidationError

Constant Summary collapse

VERSION =
"0.1.2"

Class Method Summary collapse

Class Method Details

.reset!Object

Reset setup state (mainly for testing)



53
54
55
# File 'lib/myway_config.rb', line 53

def reset!
  @setup_complete = false
end

.setup!Object

Register the XDG and defaults loaders with Anyway Config

Call this method after requiring myway_config to enable XDG config file loading and bundled defaults.

The loader order determines priority (lowest to highest):

  1. Bundled defaults (DefaultsLoader)
  2. XDG user config (XdgConfigLoader)
  3. Project config (:yml loader - Anyway default)
  4. Environment variables (:env loader - Anyway default)


28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/myway_config.rb', line 28

def setup!
  return if @setup_complete

  # Insert loaders before :yml so they have lower priority
  # Bundled defaults first (lowest priority)
  unless loader_registered?(:bundled_defaults)
    Anyway.loaders.insert_before :yml, :bundled_defaults, Loaders::DefaultsLoader
  end

  # XDG config second (higher priority than bundled defaults)
  unless loader_registered?(:xdg)
    Anyway.loaders.insert_before :yml, :xdg, Loaders::XdgConfigLoader
  end

  @setup_complete = true
end

.setup?Boolean

Check if setup has been completed

Returns:

  • (Boolean)


48
49
50
# File 'lib/myway_config.rb', line 48

def setup?
  @setup_complete || false
end