From 2e3163e247326dadbcaa67def009e21e6211be4f Mon Sep 17 00:00:00 2001
From: David Dorchies <david.dorchies@inrae.fr>
Date: Tue, 18 Jun 2024 16:34:14 +0200
Subject: [PATCH 1/2] feat: add ... argument to loadConfig

Refs #35
---
 R/loadConfig.R              | 7 ++++---
 inst/functions/loadConfig.R | 6 ++++--
 man/loadConfig.Rd           | 4 +++-
 3 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/R/loadConfig.R b/R/loadConfig.R
index ab80444..67140a8 100644
--- a/R/loadConfig.R
+++ b/R/loadConfig.R
@@ -8,11 +8,12 @@
 #'
 #' @param userFile location of the user config YML file (Use NULL or empty character to ignore)
 #' @param pathDefaultCfg The location of the default configuration (located in "inst/config.yml" of the package by default)
+#' @param ... Other parameters than `file` sent to [config::get] such as `config` or `value`
 #'
 #' @return A configuration as it is returned by [config::get]
 #' @export
 #'
-loadConfig <- function(userFile = "config.yml", pathDefaultCfg) {
+loadConfig <- function(userFile = "config.yml", pathDefaultCfg, ...) {
   if (missing(pathDefaultCfg)) {
     # fairify::loadConfig is called directly, we must
     # find the fairified package and set its default config folder
@@ -21,7 +22,7 @@ loadConfig <- function(userFile = "config.yml", pathDefaultCfg) {
         pathDefaultCfg <- system.file("config.yml", package = sub("^package:", "", pkg))
     }
   }
-  cfg <- config::get(file = pathDefaultCfg)
+  cfg <- config::get(file = pathDefaultCfg, ...)
   if (!is.null(userFile) && userFile != "") {
     if (userFile == basename(userFile)) {
       # Search in package sub folders
@@ -42,7 +43,7 @@ loadConfig <- function(userFile = "config.yml", pathDefaultCfg) {
     }
     if (file.exists(userFile)) {
       message("Read user configuration from: ", userFile)
-      cfg = config::merge(cfg, config::get(file = userFile))
+      cfg = config::merge(cfg, config::get(file = userFile, ...))
     }
   }
   stopifnot(cfg$data$mode %in% c("local", "remote"),
diff --git a/inst/functions/loadConfig.R b/inst/functions/loadConfig.R
index caeac6b..ce39aa1 100644
--- a/inst/functions/loadConfig.R
+++ b/inst/functions/loadConfig.R
@@ -1,5 +1,7 @@
 #' @inherit fairify::loadConfig
 #' @export
-loadConfig <- function(userFile = "config.yml", pathDefaultCfg = system.file("config.yml", package = utils::packageName())) {
-  fairify::loadConfig(userFile = userFile, pathDefaultCfg = pathDefaultCfg)
+loadConfig <- function(userFile = "config.yml",
+                       pathDefaultCfg = system.file("config.yml", package = utils::packageName()),
+                       ...) {
+  fairify::loadConfig(userFile = userFile, pathDefaultCfg = pathDefaultCfg, ...)
 }
diff --git a/man/loadConfig.Rd b/man/loadConfig.Rd
index 8fe528f..fc73388 100644
--- a/man/loadConfig.Rd
+++ b/man/loadConfig.Rd
@@ -4,12 +4,14 @@
 \alias{loadConfig}
 \title{Read package configuration}
 \usage{
-loadConfig(userFile = "config.yml", pathDefaultCfg)
+loadConfig(userFile = "config.yml", pathDefaultCfg, ...)
 }
 \arguments{
 \item{userFile}{location of the user config YML file (Use NULL or empty character to ignore)}
 
 \item{pathDefaultCfg}{The location of the default configuration (located in "inst/config.yml" of the package by default)}
+
+\item{...}{Other parameters than \code{file} sent to \link[config:get]{config::get} such as \code{config} or \code{value}}
 }
 \value{
 A configuration as it is returned by \link[config:get]{config::get}
-- 
GitLab


From 68bad79653bc8f4a09afbf617347e55d4aceb75f Mon Sep 17 00:00:00 2001
From: David Dorchies <david.dorchies@inrae.fr>
Date: Tue, 18 Jun 2024 16:35:26 +0200
Subject: [PATCH 2/2] fix: Missing item in report gitignore after #34

---
 inst/reports_gitignore.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/inst/reports_gitignore.txt b/inst/reports_gitignore.txt
index 2fb2f5a..a4c4589 100644
--- a/inst/reports_gitignore.txt
+++ b/inst/reports_gitignore.txt
@@ -10,4 +10,6 @@ myBook.*
 *.log
 *.wrt
 *.rds
+*.RDS
 *.pdf
+*/_render_book.*
-- 
GitLab