Title: | Minimal and Lightweight Configuration Tool |
Version: | 0.1.2 |
Description: | Minimal and lightweight configuration tool that provides basic support for 'YAML' configuration files without requiring additional package dependencies. It offers a simple method for loading and parsing configuration settings, making it ideal for quick prototypes and lightweight projects. |
License: | GPL-3 |
Encoding: | UTF-8 |
Suggests: | knitr, rmarkdown, testthat (≥ 3.0.0) |
RoxygenNote: | 7.3.2 |
VignetteBuilder: | knitr |
NeedsCompilation: | no |
Packaged: | 2025-02-28 07:52:01 UTC; Bach |
Author: | Yaoxiang Li [cre, aut] |
Maintainer: | Yaoxiang Li <liyaoxiang@outlook.com> |
Repository: | CRAN |
Date/Publication: | 2025-03-03 12:10:03 UTC |
Get Configuration
Description
Reads a YAML configuration file (default "config.yml") and returns the configuration stored under the specified key (default "default"). This function merges the functionality of loading the file and parsing its contents into a list. It uses UTF-8 encoding to read the file and then processes it with a minimal YAML parser.
Usage
get_config(file = "config.yml", config_name = "default")
Arguments
file |
Path to the YAML configuration file. For example, to load the sample configuration provided in the package extdata directory, use: 'system.file("extdata", "config.yml", package = "rconf")'. |
config_name |
The key in the configuration to extract (e.g., "default"). If the key exists in the parsed configuration list, only that sub-list is returned. |
Details
If the parsed configuration list contains a component with the name specified by 'config_name', only that component is returned. Otherwise, the entire configuration list is returned.
Value
A list of configuration settings. When the configuration file contains multiple sections, and the section matching 'config_name' is found, only that section is returned. Otherwise, the full configuration list is returned.
Author(s)
Yaoxiang Li
Examples
# Example: Load sample configuration from the extdata directory.
cfg <- get_config(system.file("extdata", "config.yml", package = "rconf"),
config_name = "default")
# Access specific configuration settings:
print(cfg$raw_data_dir)
print(cfg$processed_data_dir)
Merge Configurations
Description
Recursively merges two configuration lists, with values in the override replacing those in the base configuration.
Usage
merge_configs(base_cfg, override_cfg)
Arguments
base_cfg |
A list containing the base configuration. |
override_cfg |
A list containing override values. |
Value
A merged configuration list.
Examples
base_cfg <- get_config(system.file("extdata",
"config.yml",package = "rconf"), config_name = "default")
dev_cfg <- get_config(system.file("extdata",
"config.yml", package = "rconf"), config_name = "development")
combined_cfg <- merge_configs(base_cfg, dev_cfg)
print(combined_cfg)