R/file_manipulations.R

Defines functions path_to_ref_inspect path_to_output_results path_to_output_graphics path_to_output_data path_to_spreadsheet path_to_test_spreadsheet path_to_test_checkpoints path_to_test_unit path_to_test path_to_R_makefile path_to_R_src path_to_R path_to_input load_checkpoint checkpoint read_cach cach_object add_to_spreadsheet_folder

Documented in add_to_spreadsheet_folder cach_object checkpoint load_checkpoint path_to_input path_to_output_data path_to_output_graphics path_to_output_results path_to_R path_to_ref_inspect path_to_R_makefile path_to_R_src path_to_spreadsheet path_to_test path_to_test_checkpoints path_to_test_spreadsheet path_to_test_unit read_cach

#' Copy input data file to spreadsheet folder
#'
#' @param input_filename
#'
#' @return
#' @export
#'
#' @examples
add_to_spreadsheet_folder <- function(input_filename){
  file.copy(from = fs::path("input", input_filename),
            to   = fs::path("spreadsheet", input_filename))
}

#' Cach an object
#'
#' @param ob
#' @param label
#' @param should_return
#'
#' @return
#' @export
#'
#' @examples
cach_object <- function(ob, label, should_return=TRUE){

  saveRDS(object = ob, file = fs::path("work", "caches", paste0(label, ".RDS")))

  if(isTRUE(should_return)){
    return(ob)
  }

}

#' Read a cached object
#'
#' @param label
#'
#' @return
#' @export
#'
#' @examples
read_cach <- function(label){

  x <- readRDS(file = fs::path("work", "caches", paste0(label, ".RDS")))

  return(x)

}

#' Save an object as a checkpoint in the analysis
#'
#' @param ob
#' @param label
#' @param should_return
#'
#' @return
#' @export
#'
#' @examples
checkpoint <- function(ob, label, should_return=TRUE){

  saveRDS(object = ob, file = fs::path("work", "checkpoints", paste0(label, ".RDS")))

  if(isTRUE(should_return)){
    return(ob)
  }

}

#' Load a previous checkpoint object
#'
#' @param label
#'
#' @return
#' @export
#'
#' @examples
load_checkpoint <- function(label){

  x <- readRDS(file = fs::path("work", "checkpoints", paste0(label, ".RDS")))

  return(x)

}

#' Path to file in input folder
#'
#' @param filename
#'
#' @return
#' @export
#'
#' @examples
path_to_input <- function(filename){
  return(fs::path("input", filename))
}


#' Path to file in R folder
#'
#' @param filename
#'
#' @return
#' @export
#'
#' @examples
path_to_R <- function(filename){
  return(fs::path("R", filename))
}

#' Path to file in R/src
#'
#' @param filename
#'
#' @return
#' @export
#'
#' @examples
path_to_R_src <- function(filename){
  return(fs::path("R", "src", filename))
}

#' Path to file in R/makefile
#'
#' @param filename
#'
#' @return
#' @export
#'
#' @examples
path_to_R_makefile <- function(filename){
  return(fs::path("R", "makefile", filename))
}

#' Path to file in test folder
#'
#' @param filename
#'
#' @return
#' @export
#'
#' @examples
path_to_test <- function(filename){
  return(fs::path("test", filename))
}

#' Path to file in test/unit-tests
#'
#' @param filename
#'
#' @return
#' @export
#'
#' @examples
path_to_test_unit <- function(filename){
  return(fs::path("test", "unit-tests", filename))
}

#' Path to file in test/checkpoint-tests
#'
#' @param filename
#'
#' @return
#' @export
#'
#' @examples
path_to_test_checkpoints <- function(filename){
  return(fs::path("test", "checkpoint-tests", filename))
}

#' Path to file in test/spreadsheet-equiv-tests
#'
#' @param filename
#'
#' @return
#' @export
#'
#' @examples
path_to_test_spreadsheet <- function(filename){
  return(fs::path("test", "spreadsheet-equiv-tests", filename))
}

#' Path to file in spreadsheet folder
#'
#' @param filename
#'
#' @return
#' @export
#'
#' @examples
path_to_spreadsheet <- function(filename){
  return(fs::path("spreadsheet", filename))
}

#' Path to file in output/final-processed-data folder
#'
#' @param filename
#'
#' @return
#' @export
#'
#' @examples
path_to_output_data <- function(filename){
  return(fs::path("output", "final-processed-data", filename))

}

#' Path to file in ouput/graphics folder
#'
#' @param filename
#'
#' @return
#' @export
#'
#' @examples
path_to_output_graphics <- function(filename){
  return(fs::path("output", "graphics", filename))
}

#' Path to file in output/results folder
#'
#' @param filename
#'
#' @return
#' @export
#'
#' @examples
path_to_output_results <- function(filename){
  return(fs::path("output", "results", filename))
}

#' Path to file in ref/inspection-exploration folder
#'
#' @param filename
#'
#' @return
#' @export
#'
#' @examples
path_to_ref_inspect <- function(filename){
  return(fs::path("ref", "inspection-exploration", filename))
}
ltdroy/LTDsprojectbuilder documentation built on Aug. 10, 2020, 12:44 a.m.