This function saves a boilerplate database to disk in RDS, JSON, or both formats.
Usage
boilerplate_save(
db,
category = NULL,
data_path = NULL,
format = "rds",
confirm = TRUE,
create_dirs = FALSE,
quiet = FALSE,
pretty = TRUE,
timestamp = TRUE,
entry_level_confirm = TRUE,
create_backup = NULL,
select_elements = NULL,
output_file = NULL
)
Arguments
- db
List. The database to save. Can be a single category database or unified database.
- category
Character. The category name if saving a single category. If NULL and db contains multiple categories, saves as unified database.
- data_path
Character. Base path for data directory. If NULL (default), uses here::here("boilerplate", "data").
- format
Character. Format to save: "rds" (default), "json", or "both".
- confirm
Logical. If TRUE, asks for confirmation. Default is TRUE.
- create_dirs
Logical. If TRUE, creates directories if they don't exist. Default is FALSE.
- quiet
Logical. If TRUE, suppresses all CLI alerts. Default is FALSE.
- pretty
Logical. If TRUE (default), pretty-print JSON for readability.
- timestamp
Logical. If TRUE (default), add timestamp to filename.
- entry_level_confirm
Logical. Not used, kept for backward compatibility.
- create_backup
Logical. If TRUE, creates a backup before saving. Default is TRUE unless running examples or in a temporary directory.
- select_elements
Character vector. Not used, kept for backward compatibility.
- output_file
Character. Not used, kept for backward compatibility.
Examples
# Create a temporary directory
temp_dir <- tempdir()
data_path <- file.path(temp_dir, "boilerplate_save_example", "data")
# Create a test database
test_db <- list(
methods = list(
sample = list(default = "Sample text")
),
measures = list(
test_measure = list(name = "Test", description = "A test measure")
)
)
# Save as unified database
boilerplate_save(
db = test_db,
data_path = data_path,
create_dirs = TRUE,
confirm = FALSE,
quiet = TRUE
)
# Check that file was created
file.exists(file.path(data_path, "boilerplate_unified.rds"))
#> [1] FALSE
# Save a single category
boilerplate_save(
db = test_db$methods,
category = "methods",
data_path = data_path,
confirm = FALSE,
quiet = TRUE
)
# Clean up
unlink(file.path(temp_dir, "boilerplate_save_example"), recursive = TRUE)