token-resolver 2.0.0 → 2.0.1
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +26 -1
- data/CONTRIBUTING.md +20 -4
- data/README.md +14 -21
- data/lib/token/resolver/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +6 -6
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2d0b29a16291b6af534e6da9b907ab056533cab2bd44504f3da0b9498f306b63
|
|
4
|
+
data.tar.gz: a8a2f4b21db6c3549f15a5cb451e956bf3340b21137832edd18b92d9b6755784
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cc016ee7c380eefc3bb573eb8c83519e1ffe354f736e092f54dcd7b8e22caf9a4418137b5358700548658020a1142360c72dc4ba56ba2e7d41b0c0609993a9e4
|
|
7
|
+
data.tar.gz: 8726023b36d797327b5fd8a4c04ab75e4212625e915e545da2c66dd88442e3858f9542880f524c01937e95d8af22cc1ce9619e793b1e0ba4b8eadc30804ea048
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,29 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [2.0.1] - 2026-05-31
|
|
34
|
+
|
|
35
|
+
- TAG: [v2.0.1][2.0.1t]
|
|
36
|
+
- COVERAGE: 100.00% -- 265/265 lines in 10 files
|
|
37
|
+
- BRANCH COVERAGE: 100.00% -- 64/64 branches in 10 files
|
|
38
|
+
- 93.55% documented
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- Added StructuredMerge git diff driver config and local `.gitattributes`
|
|
43
|
+
entries generated by the current kettle-jem template.
|
|
44
|
+
|
|
45
|
+
### Changed
|
|
46
|
+
|
|
47
|
+
- Refreshed kettle-jem-managed project files, migrated template config to
|
|
48
|
+
`.structuredmerge/kettle-jem.yml`, and updated local development tooling
|
|
49
|
+
dependencies including `kettle-dev` 2.0.6 and `nomono` 1.0.2.
|
|
50
|
+
|
|
51
|
+
### Fixed
|
|
52
|
+
|
|
53
|
+
- Fixed generated documentation URLs that incorrectly pointed at a monorepo
|
|
54
|
+
`gems/token-resolver` path.
|
|
55
|
+
|
|
33
56
|
## [2.0.0] - 2026-05-27
|
|
34
57
|
|
|
35
58
|
- TAG: [v2.0.0][2.0.0t]
|
|
@@ -145,7 +168,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
145
168
|
|
|
146
169
|
### Security
|
|
147
170
|
|
|
148
|
-
[Unreleased]: https://github.com/kettle-rb/token-resolver/compare/v2.0.
|
|
171
|
+
[Unreleased]: https://github.com/kettle-rb/token-resolver/compare/v2.0.1...HEAD
|
|
172
|
+
[2.0.1]: https://github.com/kettle-rb/token-resolver/compare/v2.0.0...v2.0.1
|
|
173
|
+
[2.0.1t]: https://github.com/kettle-rb/token-resolver/releases/tag/v2.0.1
|
|
149
174
|
[2.0.0]: https://github.com/kettle-rb/token-resolver/compare/v1.0.2...v2.0.0
|
|
150
175
|
[2.0.0t]: https://github.com/kettle-rb/token-resolver/releases/tag/v2.0.0
|
|
151
176
|
[1.0.2]: https://github.com/kettle-rb/token-resolver/compare/v1.0.1...v1.0.2
|
data/CONTRIBUTING.md
CHANGED
|
@@ -102,13 +102,29 @@ Git hooks and commit message helpers (exe/kettle-commit-msg)
|
|
|
102
102
|
- GIT_HOOK_FOOTER_SENTINEL: Required when footer append is enabled — a unique first-line sentinel to prevent duplicates
|
|
103
103
|
- GIT_HOOK_FOOTER_APPEND_DEBUG: Extra debug output in the footer template (true/false)
|
|
104
104
|
|
|
105
|
+
Git diff driver setup
|
|
106
|
+
- Local setup writes repository `.gitattributes` entries so this checkout uses StructuredMerge semantic diffs.
|
|
107
|
+
- Global setup registers `diff.smorg-*` commands once in the user Git config; use it when you work across several StructuredMerge-enabled repositories.
|
|
108
|
+
- Include-file setup writes `.git/smorg/config` and includes it from local Git config, keeping command registrations out of the repository files.
|
|
109
|
+
- Git hosting forges generally ignore external diff drivers, so pull request views may still show raw textual diffs even when local `git diff` uses semantic drivers.
|
|
110
|
+
|
|
111
|
+
```console
|
|
112
|
+
K_JEM_TEMPLATING=true bundle exec kettle-jem install
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Troubleshooting Git diffs
|
|
116
|
+
- Use `git diff --no-ext-diff` to compare against Git's built-in diff output.
|
|
117
|
+
- Use `git diff --no-textconv` when a textconv projection obscures the raw file bytes you need to inspect.
|
|
118
|
+
- If Git reports a missing `smorg-*` executable, rerun `bundle install` and the setup command above, then check `git config --get-regexp '^diff\.smorg-'`.
|
|
119
|
+
- To remove managed local entries, run `K_JEM_TEMPLATING=true bundle exec kettle-jem install --undo`; remove global command registrations with `git config --global --unset-all diff.smorg-ruby.command`.
|
|
120
|
+
|
|
105
121
|
For a quick starting point, this repository’s `mise.toml` defines the shared defaults, and `.env.local` can override them locally. Copy `.env.local.example` to `.env.local`, use `KEY=value` lines, and either activate `mise` in your shell or run commands through `mise exec -C /path/to/project -- ...`.
|
|
106
122
|
|
|
107
123
|
## Appraisals
|
|
108
124
|
|
|
109
125
|
From time to time the [appraisal2][🚎appraisal2] gemfiles in `gemfiles/` will need to be updated.
|
|
110
126
|
Generated appraisal and CI workflow floors are controlled by `ruby.test_minimum`
|
|
111
|
-
in `.kettle-jem.yml`; this project was templated with `ruby.test_minimum: 3.2.0`.
|
|
127
|
+
in `.structuredmerge/kettle-jem.yml`; this project was templated with `ruby.test_minimum: 3.2.0`.
|
|
112
128
|
That value describes the lowest Ruby version expected to run the test/development
|
|
113
129
|
toolchain, and it may be higher than the gemspec runtime floor.
|
|
114
130
|
|
|
@@ -233,9 +249,9 @@ NOTE: To build without signing the gem set `SKIP_GEM_SIGNING` to any value in th
|
|
|
233
249
|
14. Run `bundle exec rake release` which will create a git tag for the version,
|
|
234
250
|
push git commits and tags, and push the `.gem` file to the gem host configured in the gemspec.
|
|
235
251
|
|
|
236
|
-
[📜src-gl]: https://gitlab.com/kettle-rb/token-resolver
|
|
237
|
-
[📜src-cb]: https://codeberg.org/kettle-rb/token-resolver
|
|
238
|
-
[📜src-gh]: https://github.com/kettle-rb/token-resolver
|
|
252
|
+
[📜src-gl]: https://gitlab.com/kettle-rb/token-resolver
|
|
253
|
+
[📜src-cb]: https://codeberg.org/kettle-rb/token-resolver
|
|
254
|
+
[📜src-gh]: https://github.com/kettle-rb/token-resolver
|
|
239
255
|
[🧪build]: https://github.com/kettle-rb/token-resolver/actions
|
|
240
256
|
[🤝conduct]: https://github.com/kettle-rb/token-resolver/blob/main/CODE_OF_CONDUCT.md
|
|
241
257
|
[🖐contrib-rocks]: https://contrib.rocks
|
data/README.md
CHANGED
|
@@ -1,17 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
[🖼️galtzo-floss-i]: https://logos.galtzo.com/assets/images/galtzo-floss/avatar-192px.svg
|
|
4
|
-
[🖼️galtzo-floss]: https://discord.gg/3qme4XHNKN
|
|
5
|
-
[🖼️ruby-lang-i]: https://logos.galtzo.com/assets/images/ruby-lang/avatar-192px.svg
|
|
6
|
-
[🖼️ruby-lang]: https://www.ruby-lang.org/
|
|
7
|
-
[🖼️kettle-rb-i]: https://logos.galtzo.com/assets/images/kettle-rb/avatar-192px.svg
|
|
8
|
-
[🖼️kettle-rb]: https://github.com/kettle-rb
|
|
1
|
+
<a href="https://github.com/kettle-rb"><img alt="kettle-rb Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/kettle-rb/avatar-128px.svg" width="14%" align="right"/></a>
|
|
9
2
|
|
|
10
3
|
# 🪙 Token::Resolver
|
|
11
4
|
|
|
12
|
-
[![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: AGPL-3.0-only OR PolyForm-Small-Business-1.0.0][📄license-img]][📄license] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf]
|
|
5
|
+
[![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: AGPL-3.0-only OR PolyForm-Small-Business-1.0.0][📄license-img]][📄license] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf]
|
|
13
6
|
|
|
14
|
-
`if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][
|
|
7
|
+
`if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][✉️discord-invite], as I may have missed the [discord notification][✉️discord-invite].
|
|
15
8
|
|
|
16
9
|
---
|
|
17
10
|
|
|
@@ -26,7 +19,7 @@ I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-ta
|
|
|
26
19
|
|
|
27
20
|
</details>
|
|
28
21
|
|
|
29
|
-
## 🌻 Synopsis
|
|
22
|
+
## 🌻 Synopsis <a href="https://discord.gg/3qme4XHNKN"><img alt="Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px.svg" width="8%" align="right"/></a> <a href="https://ruby-toolbox.com"><img alt="ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5" src="https://logos.galtzo.com/assets/images/ruby-lang/avatar-128px.svg" width="8%" align="right"/></a>
|
|
30
23
|
|
|
31
24
|
Token::Resolver is a configurable PEG-based token parser and resolver for structured token detection and replacement in arbitrary text.
|
|
32
25
|
|
|
@@ -36,7 +29,7 @@ Detects structured tokens like `{KJ|GEM_NAME}` in any file format and resolves t
|
|
|
36
29
|
# One-liner: parse and resolve
|
|
37
30
|
result = Token::Resolver.resolve(
|
|
38
31
|
"Hello {KJ|NAME}, welcome to {KJ|PROJECT}!",
|
|
39
|
-
{"KJ|NAME" => "World", "KJ|PROJECT" => "my-app"}
|
|
32
|
+
{"KJ|NAME" => "World", "KJ|PROJECT" => "my-app"}
|
|
40
33
|
)
|
|
41
34
|
# => "Hello World, welcome to my-app!"
|
|
42
35
|
```
|
|
@@ -172,7 +165,7 @@ doc.text_only? # => false
|
|
|
172
165
|
# Resolve tokens
|
|
173
166
|
result = Token::Resolver.resolve(
|
|
174
167
|
"Deploy {KJ|GEM_NAME} to {KJ|GH_ORG}",
|
|
175
|
-
{"KJ|GEM_NAME" => "my-gem", "KJ|GH_ORG" => "my-org"}
|
|
168
|
+
{"KJ|GEM_NAME" => "my-gem", "KJ|GH_ORG" => "my-org"}
|
|
176
169
|
)
|
|
177
170
|
# => "Deploy my-gem to my-org"
|
|
178
171
|
```
|
|
@@ -200,7 +193,7 @@ Token::Resolver.resolve("{KJ|MISSING}", {}, on_missing: :remove)
|
|
|
200
193
|
config = Token::Resolver::Config.new(
|
|
201
194
|
pre: "<<",
|
|
202
195
|
post: ">>",
|
|
203
|
-
separators: [":"]
|
|
196
|
+
separators: [":"]
|
|
204
197
|
)
|
|
205
198
|
Token::Resolver.resolve("Hello <<NS:NAME>>!", {"NS:NAME" => "World"}, config: config)
|
|
206
199
|
# => "Hello World!"
|
|
@@ -211,7 +204,7 @@ Token::Resolver.resolve("Hello <<NS:NAME>>!", {"NS:NAME" => "World"}, config: co
|
|
|
211
204
|
```ruby
|
|
212
205
|
# Tokens like {KJ|SECTION:SUBSECTION}
|
|
213
206
|
config = Token::Resolver::Config.new(
|
|
214
|
-
separators: ["|", ":"]
|
|
207
|
+
separators: ["|", ":"] # First boundary uses |, second uses :, rest repeat :
|
|
215
208
|
)
|
|
216
209
|
doc = Token::Resolver.parse("{KJ|META:AUTHOR}", config: config)
|
|
217
210
|
doc.tokens.first.key # => "KJ|META:AUTHOR"
|
|
@@ -357,6 +350,8 @@ To say "thanks!" ☝️ Join the Discord or 👇️ send money.
|
|
|
357
350
|
|
|
358
351
|
### Please give the project a star ⭐ ♥.
|
|
359
352
|
|
|
353
|
+
Many parts of this project are actively managed by a [kettle-jem](https://github.com/structuredmerge/structuredmerge-ruby/tree/main/gems/kettle-jem) smart template utilizing [StructuredMerge.org](https://structuredmerge.org) merge contracts.
|
|
354
|
+
|
|
360
355
|
Thanks for RTFM. ☺️
|
|
361
356
|
|
|
362
357
|
[⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
|
|
@@ -396,7 +391,7 @@ Thanks for RTFM. ☺️
|
|
|
396
391
|
[✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
|
|
397
392
|
|
|
398
393
|
[✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
|
|
399
|
-
[⛳️gem-namespace]: https://github.com/kettle-rb/token-resolver
|
|
394
|
+
[⛳️gem-namespace]: https://github.com/kettle-rb/token-resolver
|
|
400
395
|
[⛳️namespace-img]: https://img.shields.io/badge/namespace-Token::Resolver-3C2D2D.svg?style=square&logo=ruby&logoColor=white
|
|
401
396
|
[⛳️gem-name]: https://bestgems.org/gems/token-resolver
|
|
402
397
|
[⛳️name-img]: https://img.shields.io/badge/name-token--resolver-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
|
|
@@ -436,11 +431,11 @@ Thanks for RTFM. ☺️
|
|
|
436
431
|
[💁🏼♂️peterboling]: http://www.peterboling.com
|
|
437
432
|
[🚂railsbling]: http://www.railsbling.com
|
|
438
433
|
[📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
|
|
439
|
-
[📜src-gl]: https://gitlab.com/kettle-rb/token-resolver
|
|
434
|
+
[📜src-gl]: https://gitlab.com/kettle-rb/token-resolver
|
|
440
435
|
[📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
|
|
441
|
-
[📜src-cb]: https://codeberg.org/kettle-rb/token-resolver
|
|
436
|
+
[📜src-cb]: https://codeberg.org/kettle-rb/token-resolver
|
|
442
437
|
[📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
|
|
443
|
-
[📜src-gh]: https://github.com/kettle-rb/token-resolver
|
|
438
|
+
[📜src-gh]: https://github.com/kettle-rb/token-resolver
|
|
444
439
|
[📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
|
|
445
440
|
[📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
|
|
446
441
|
[📜gl-wiki]: https://gitlab.com/kettle-rb/token-resolver/-/wikis/home
|
|
@@ -459,8 +454,6 @@ Thanks for RTFM. ☺️
|
|
|
459
454
|
[🏀codecovi]: https://codecov.io/gh/kettle-rb/token-resolver/graph/badge.svg
|
|
460
455
|
[🏀coveralls]: https://coveralls.io/github/kettle-rb/token-resolver?branch=main
|
|
461
456
|
[🏀coveralls-img]: https://coveralls.io/repos/github/kettle-rb/token-resolver/badge.svg?branch=main
|
|
462
|
-
[🖐codeQL]: https://github.com/kettle-rb/token-resolver/security/code-scanning
|
|
463
|
-
[🖐codeQL-img]: https://github.com/kettle-rb/token-resolver/actions/workflows/codeql-analysis.yml/badge.svg
|
|
464
457
|
[🚎ruby-3.2-wf]: https://github.com/kettle-rb/token-resolver/actions/workflows/ruby-3.2.yml
|
|
465
458
|
[🚎ruby-3.3-wf]: https://github.com/kettle-rb/token-resolver/actions/workflows/ruby-3.3.yml
|
|
466
459
|
[🚎ruby-3.4-wf]: https://github.com/kettle-rb/token-resolver/actions/workflows/ruby-3.4.yml
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: token-resolver
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.
|
|
4
|
+
version: 2.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -80,7 +80,7 @@ dependencies:
|
|
|
80
80
|
version: '2.0'
|
|
81
81
|
- - ">="
|
|
82
82
|
- !ruby/object:Gem::Version
|
|
83
|
-
version: 2.0.
|
|
83
|
+
version: 2.0.6
|
|
84
84
|
type: :development
|
|
85
85
|
prerelease: false
|
|
86
86
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -90,7 +90,7 @@ dependencies:
|
|
|
90
90
|
version: '2.0'
|
|
91
91
|
- - ">="
|
|
92
92
|
- !ruby/object:Gem::Version
|
|
93
|
-
version: 2.0.
|
|
93
|
+
version: 2.0.6
|
|
94
94
|
- !ruby/object:Gem::Dependency
|
|
95
95
|
name: bundler-audit
|
|
96
96
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -281,10 +281,10 @@ licenses:
|
|
|
281
281
|
- PolyForm-Small-Business-1.0.0
|
|
282
282
|
metadata:
|
|
283
283
|
homepage_uri: https://token-resolver.galtzo.com/
|
|
284
|
-
source_code_uri: https://github.com/kettle-rb/token-resolver/tree/v2.0.
|
|
285
|
-
changelog_uri: https://github.com/kettle-rb/token-resolver/blob/v2.0.
|
|
284
|
+
source_code_uri: https://github.com/kettle-rb/token-resolver/tree/v2.0.1
|
|
285
|
+
changelog_uri: https://github.com/kettle-rb/token-resolver/blob/v2.0.1/CHANGELOG.md
|
|
286
286
|
bug_tracker_uri: https://github.com/kettle-rb/token-resolver/issues
|
|
287
|
-
documentation_uri: https://www.rubydoc.info/gems/token-resolver/2.0.
|
|
287
|
+
documentation_uri: https://www.rubydoc.info/gems/token-resolver/2.0.1
|
|
288
288
|
funding_uri: https://github.com/sponsors/pboling
|
|
289
289
|
wiki_uri: https://github.com/kettle-rb/token-resolver/wiki
|
|
290
290
|
news_uri: https://www.railsbling.com/tags/token-resolver
|
metadata.gz.sig
CHANGED
|
Binary file
|