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
-
.reset! ⇒ Object
Reset setup state (mainly for testing).
-
.setup! ⇒ Object
Register the XDG and defaults loaders with Anyway Config.
-
.setup? ⇒ Boolean
Check if setup has been completed.
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):
- Bundled defaults (DefaultsLoader)
- XDG user config (XdgConfigLoader)
- Project config (:yml loader - Anyway default)
- 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
48 49 50 |
# File 'lib/myway_config.rb', line 48 def setup? @setup_complete || false end |