updateYamlSource: Update Object that originally contained YAML Markup (generic)

Description Usage Arguments YAML syntax Author(s) References See Also Examples

Description

Updates the object that originally contained YAML markup. To be more specific, the function updates field src or class ObjectReferenceYamlProcessed as returned by buildExpressionFromYaml.

Usage

1

Arguments

yaml

Signature argument. Object containing processed YAML markup as returned by buildExpressionFromYaml.

...

Further arguments to be passed to subsequent functions/methods.

YAML syntax

Note that the YAML statement for specifying object references must be as follows:

object-ref: {id: {id}, where: {where}, as: {id-ref}}

Note that elements where and as are optional and that spaces are required between each syntax component. While the lack of spaces will cause a parsing error in yaml.load, additional spaces do not casue any trouble.

Example for valid YAML statements

See the official http://www.yaml.org/ for more details about YAML

Author(s)

Janko Thyson janko.thyson@rappster.de

References

http://github.com/Rappster/yamlr

See Also

updateYamlSource-ObjectReferenceYamlProcessed.S3-method, getYaml, parseYaml, buildExpressionFromYaml

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
## Not run: 

## Get //  
yaml <- getYaml(
  from = function() {
  "object-ref: {id: x_1, where: .GlobalEnv, as: ref_1}"
  ref_1 * 2
  },
  ctx = YamlContext.ObjectReference.S3()
)

## Parse //
yaml <- parseYaml(yaml = yaml)

## Build //
yaml <- buildExpressionFromYaml(yaml = yaml)

## Update //
yaml <- updateYamlSource(yaml = yaml)

## Inspect //
yaml$src
## --> note that the original YAML markup has been substituted by a 
## suitable expression for this specific context (`yaml$src$x_1$get_assign`).
## The processing is now complete and the source object can be used as is
## as it is now "self contained" in the sense that it contains all information
## that are needed in order for it to do its job.

## Actual use of the source object //
x_1 <- 10
eval(yaml$src())

## Clean up //
rm(x_1)
rm(yaml)


## End(Not run)

rappster/yamlr documentation built on May 27, 2019, 2:02 a.m.