gloo 7.0.3 → 7.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d8c6f18a171f22ad2efb9354555f867568cc64baa563a09cad5909d3074eb55c
4
- data.tar.gz: 69d44646d15c1054ea6693ae2ad8cd9a10513ce258ca83703a5af0120da9ed97
3
+ metadata.gz: 0f84c9907a97353612993852efc46b6880b119c962b785da1c43326f1d0710b3
4
+ data.tar.gz: 6582c120e0b04e9daaa3be9d70002d407f778b045fa668f87ca20fae68b22218
5
5
  SHA512:
6
- metadata.gz: 0b8c7c819ae9660f35bf1e8f1a6c93be762d8c94d1aef8a05828d0d57fa40d6415e567d9e9ef0bbf630e14cda7c6546616ed8a0c99e5d6b9d0a05daf6d1ddf29
7
- data.tar.gz: 59f620d96fe5c1cf35b3e461c5dcd690bffd069b94da9e742927b8e40d934bbcfc9dc4b23c9a1d7018d67b67f3c7212cb39244c80d95c618b4bb1f8037e9e9ef
6
+ metadata.gz: 5ad11f0ed9bec1122fc796920029ee5b1bdea8dee0e3aecdedefd85241de70ff1f52e8fb893726d6fd135a0e86588aac44ab6598d2a3b6f071f61c2411281adc
7
+ data.tar.gz: ec26f94681a480a42bf9cf21ca7668de7896eba9937a731d501c1ca2a5998fe12dc08b26e9452c9aeafbee59f2eb3e21b1599af8e3211f8e5baa593d232a3146
@@ -106,6 +106,9 @@ floating comment in the file instead. When a name is declared in more
106
106
  than one loaded file, the first non-empty doc wins (same rule as the
107
107
  first value).
108
108
 
109
+ A doc belongs to its object: when the object is moved, extracted, or
110
+ deleted, its doc comment goes with it (see Verbs, Load & Save).
111
+
109
112
  `list` can show every documented object in a listed tree: turn on the
110
113
  `list_docs` setting (off by default) — see `list` and `settings` in the
111
114
  in-app help.
data/docs/verbs.md CHANGED
@@ -99,6 +99,12 @@ If the name can't be resolved to a file, `load` reports `File '{name}' was not f
99
99
 
100
100
  A save is a **rewrite, not a regeneration**: comments, blank lines, and the original spacing are kept, and only the values you actually changed are re-written. A declaration you never touched comes back byte-for-byte.
101
101
 
102
+ What counts as a change is narrow: an object is changed when its value is set, or when it is created, moved (`move`, or extracted with `save … to`), or deleted (for example with `unload`); everything else is untouched and comes back exactly as written, wherever it lives. Adding, moving, or removing an object's children doesn't change the object itself: its own declaration stays as it was, and only the children's lines appear, move, or disappear.
103
+
104
+ An object's doc comment goes wherever the object goes: it moves with a moved or extracted object and disappears with a deleted one.
105
+
106
+ A save never loses or alters data: loading the saved files again gives back the same objects, with the same values and docs, under the same parents. The interpreter decides how a changed or new declaration is laid out; only what it says has to come back the same.
107
+
102
108
  `save {obj} to {path}` doesn't just write a copy — `obj` stops being declared in its old file, wherever that was. Given `app.core.settings` declared inside `app.gloo`, `save app.core.settings to config/settings` leaves `app.gloo` without a `settings` subtree and writes `config/settings.gloo` with `app.core.settings [can] : ...` at the top level (the `app`/`core` prefix is implied via nested-container shorthand, not repeated as nested declarations) plus everything `settings` owns underneath, comments included. An object with no file of its own yet (brand new, or nested under an object that's never been saved) is simply written fresh — nothing to move.
103
109
 
104
110
  If `obj`'s own subtree already has declarations spread across more than one file (the namespace-merge pattern below, applied *inside* the subtree being extracted, not just above it), extraction refuses rather than guessing which file's slice is authoritative — save each contributing file on its own first.
data/lib/VERSION CHANGED
@@ -1 +1 @@
1
- 7.0.3
1
+ 7.0.4
data/lib/VERSION_NOTES CHANGED
@@ -1,3 +1,7 @@
1
+ 7.0.4 - 2026.10.19
2
+ - Documentation update.
3
+
4
+
1
5
  7.0.3 - 2026.10.15
2
6
  - Removes test dependency on gloo-beep.
3
7
 
@@ -96,6 +96,10 @@ module Gloo
96
96
  'state. This is a rewrite, not a regeneration: comments, ' \
97
97
  'blank lines, and the original formatting are preserved, ' \
98
98
  'and only values that actually changed are re-written. ' \
99
+ 'A declaration you never touched comes back byte-for-byte. ' \
100
+ 'An object counts as changed only when its value is set or ' \
101
+ 'it is created, moved, or deleted (its doc comment goes with ' \
102
+ 'it); changes to its children do not change it. ' \
99
103
  'With a path, the object also stops being declared in its ' \
100
104
  'old file (if it had one) -- both files are rewritten ' \
101
105
  'together.',
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gloo
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.3
4
+ version: 7.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Crane
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-10-15 00:00:00.000000000 Z
11
+ date: 2026-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler