From 148d1d3245cc65e2f499486a0739dfa63cdbd4a6 Mon Sep 17 00:00:00 2001 From: Gabriel Omar Cotelli Date: Wed, 3 Apr 2024 17:13:04 -0300 Subject: [PATCH] Add how to --- docs/how-to/how-to-support-gs64-options.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 docs/how-to/how-to-support-gs64-options.md diff --git a/docs/how-to/how-to-support-gs64-options.md b/docs/how-to/how-to-support-gs64-options.md new file mode 100644 index 0000000..bb872fa --- /dev/null +++ b/docs/how-to/how-to-support-gs64-options.md @@ -0,0 +1,17 @@ +# How to support GS64 class options + +GemStone/S 64 includes some options during class creation that change the +behavior of the instances. + +There's support in Rowan to specify these options using the Tonel format +by filling the `gs_options` metadata in the class creation section. However, +by default Pharo will remove this metadata when committing code losing the +options. To avoid this behavior and retain the options, load the `Tool` group +and send in the class `initialize` message one of the following messages: + +- `makeInstancesDbTransient` +- `makeInstancesInvariant` +- `makeInstancesNonPersistent` + +This will configure the options as class properties in Pharo, and later the +Tonel Writer will use these options for the metadata.