The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Session Options

library(sinew)

sinew options can be set to remain persistent across sessions or at a global level within a session

For those familiar with knitr sinew follows the same option logic, and instead of knitr::opts_chunk we define sinew::sinew_opts.

The defaults settings for the core function parameters in sinew are defined in sinew_opts. These include the roxygen2 fields and their values to include by default in the function header.

These settings will persist for a R session.

If the user needs the settings to persist across sessions, like in package development, sinew reads on load a file called _sinewconfig.yml, placed in the working directory.

Using _sinewconfig.yml

When loading the sinew package the file _sinewconfig.yml will be searched for in the working directory, if found settings found in it will be used instead of the package defaults.

To create the _sinewconfig.yml file in the current project directory and update the .Rbuildignore automatically use the function create_yml(). In the example below the field author will be added to all roxygen2 headers returned by sinew and its value is Jonathan Sidi.

add_fields: ["author"]
author: 'Jonathan Sidi'

Using sinew_opts

Retrieve all current values

sinew_opts$get()
#> $add_fields
#> [1] "details"  "examples" "seealso"  "rdname"   "export"  
#> 
#> $cut
#> NULL
#> 
#> $pretty_print
#> [1] TRUE
#> 
#> $markdown_links
#> [1] TRUE
#> 
#> $author
#> [1] "AUTHOR [AUTHOR_2]"
#> 
#> $backref
#> [1] "src/filename.cpp"
#> 
#> $concept
#> [1] "CONCEPT_TERM_1 [CONCEPT_TERM_2]"
#> 
#> $describeIn
#> [1] "FUNCTION_NAME DESCRIPTION"
#> 
#> $details
#> [1] "DETAILS"
#> 
#> $example
#> [1] "path_to_file/relative/to/packge/root"
#> 
#> $examples
#> [1] "\n#' \\dontrun{\n#' if(interactive()){\n#'  #EXAMPLE1\n#'  }\n#' }"
#> 
#> $export
#> [1] ""
#> 
#> $family
#> [1] "FAMILY_TITLE"
#> 
#> $field
#> [1] "FIELD_IN_S4_RefClass DESCRIPTION"
#> 
#> $format
#> [1] "DATA_STRUCTURE"
#> 
#> $importClassesFrom
#> [1] "PKG CLASS_a [CLASS_b]"
#> 
#> $importMethodsFrom
#> [1] "PKG METHOD_a [METHOD_b]"
#> 
#> $include
#> [1] "FILENAME.R [FILENAME_b.R]"
#> 
#> $inherit
#> [1] "[PKG::]SOURCE_FUNCTION [FIELD_a FIELD_b]"
#> 
#> $inheritDotParams
#> [1] "[PKG::]SOURCE_FUNCTION"
#> 
#> $inheritSection
#> [1] "[PKG::]SOURCE_FUNCTION [SECTION_a SECTION_b]"
#> 
#> $keywords
#> [1] "KEYWORD_TERM"
#> 
#> $name
#> [1] "NAME"
#> 
#> $rdname
#> [1] "FUNCTION_NAME"
#> 
#> $references
#> [1] "BIB_CITATION"
#> 
#> $section
#> [1] "SECTION_NAME"
#> 
#> $source
#> [1] "\\url{http://somewhere.important.com/}"
#> 
#> $slot
#> [1] "SLOTNAME DESCRIPTION"
#> 
#> $template
#> [1] "FILENAME"
#> 
#> $templateVar
#> [1] "NAME VALUE"
#> 
#> $useDynLib
#> [1] "PKG [ROUTINE_a ROUTINE_b]"

Retrieve a specific field

sinew_opts$get('author')
#> [1] "AUTHOR [AUTHOR_2]"

Retrieve a multiple fields

sinew_opts$get(c('author','source'))
#> $author
#> [1] "AUTHOR [AUTHOR_2]"
#> 
#> $source
#> [1] "\\url{http://somewhere.important.com/}"

Set a value

sinew_opts$set(list(author='John Doe'))
sinew_opts$get('author')
#> [1] "John Doe"

Append a new value to the current field values

sinew_opts$get('add_fields')
#> [1] "details"  "examples" "seealso"  "rdname"   "export"
sinew_opts$append(add_fields='source')
sinew_opts$get('add_fields')
#> [1] "details"  "examples" "seealso"  "rdname"   "export"   "source"

Reset fields to package defaults

sinew_opts$restore()
sinew_opts$get(c('add_fields','author'))
#> $add_fields
#> [1] "details"  "examples" "seealso"  "rdname"   "export"  
#> 
#> $author
#> [1] "AUTHOR [AUTHOR_2]"

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.