token-resolver 2.0.5 → 2.0.6

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: abc6fc0d34980ecdf3f6ed2c286902a093653231b9c679b8ee6cfa5b9b45db4c
4
- data.tar.gz: 8f33331dffde150b5538205d80f08117b0d7aa2926fc49c4b05730192bc15f23
3
+ metadata.gz: 1fa82a3590f1037615771bd78f9d76905752cb7498cd3f47c0ae34892dbdb044
4
+ data.tar.gz: f32c09f1ef6e7f97c491cfa5d06500b8ff8ee170588296d108f0f91253c8bfbd
5
5
  SHA512:
6
- metadata.gz: b56b597beec579cd58c407cec9a9b9088863fc53422b694d5960c3c36736ec4a6aac7f2ccc301f52bed32681d876a72a988e0d941ecdc3ca9a6fae26b2fe0efb
7
- data.tar.gz: 6e38cf9a5d89b7970ef64bd8fb7114824c3aa001a1560d9387c65b15e5d93c1a3121628d04022d91d8379c7ec7c1000ae3ca0b9bba84c3766ad99867cbe05e22
6
+ metadata.gz: 1e3dd14d99638319cb500dd047357fa04788d795f5b6ad43685f281df25563ec259f4b28cc2f44085da770708f8bdfcd17454d1816f4176274ffae543c98c197
7
+ data.tar.gz: e6f16fdc9f593d8360c45ef0a809d6d3b9ae5149081d5a5141059e24340283022c7c818c714602fd56b20b61db463b1a4c3a7fbbf492375d268b8f9c9474f1cd
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,49 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [2.0.6] - 2026-07-28
34
+
35
+ - TAG: [v2.0.6][2.0.6t]
36
+ - COVERAGE: 99.62% -- 265/266 lines in 11 files
37
+ - BRANCH COVERAGE: 100.00% -- 64/64 branches in 11 files
38
+ - 96.77% documented
39
+
40
+ ### Added
41
+
42
+ - kettle-jem-template-20260726-001 - Projects now include YARD lint
43
+ configuration and documentation dependencies so documentation issues fail
44
+ before generated docs are refreshed.
45
+
46
+ - kettle-jem-template-20260727-001 - Spec harness documentation now lists the
47
+ RSpec helpers provided by `kettle-test`.
48
+
49
+ ### Changed
50
+
51
+ - kettle-jem-template-20260725-001 - Release pull request branches beginning
52
+ with `feature/release` now run JRuby and TruffleRuby workflows.
53
+ - kettle-jem-template-20260725-002 - Version specs now use `anonymous_loader` to
54
+ cover `version.rb` without redefining constants, or are removed when version
55
+ specs are not managed for the project.
56
+
57
+ - kettle-jem-template-20260728-001 - Generated Ruby workflows now use clearer
58
+ setup-ruby-flash planning and can prepare appraisal-only jobs without
59
+ installing the main Gemfile bundle.
60
+
61
+ ### Fixed
62
+
63
+ - kettle-jem-template-20260726-002 - Generated version files now document their
64
+ version namespace and constants, reducing warning-only YARD lint output.
65
+
66
+ - kettle-jem-template-20260726-003 - Coverage upload steps now treat Coveralls,
67
+ QLTY, and Codecov as optional, so provider outages do not fail CI when local
68
+ coverage thresholds still pass.
69
+ - kettle-jem-template-20260728-002 - Generated RuboCop configs now ignore the
70
+ same `gemfiles/vendor/bundle` tree as `.gitignore`, so vendored dependency
71
+ installs are not reported as project lint debt.
72
+ - kettle-jem-template-20260728-003 - Generated dep-heads workflows now run
73
+ TruffleRuby jobs with current RubyGems and Bundler, avoiding setup failures
74
+ before the test suite starts.
75
+
33
76
  ## [2.0.5] - 2026-07-21
34
77
 
35
78
  - TAG: [v2.0.5][2.0.5t]
@@ -235,7 +278,9 @@ Please file a bug if you notice a violation of semantic versioning.
235
278
 
236
279
  ### Security
237
280
 
238
- [Unreleased]: https://github.com/kettle-dev/token-resolver/compare/v2.0.5...HEAD
281
+ [Unreleased]: https://github.com/kettle-dev/token-resolver/compare/v2.0.6...HEAD
282
+ [2.0.6]: https://github.com/kettle-dev/token-resolver/compare/v2.0.5...v2.0.6
283
+ [2.0.6t]: https://github.com/kettle-dev/token-resolver/releases/tag/v2.0.6
239
284
  [2.0.5]: https://github.com/kettle-dev/token-resolver/compare/v2.0.4...v2.0.5
240
285
  [2.0.5t]: https://github.com/kettle-dev/token-resolver/releases/tag/v2.0.5
241
286
  [2.0.4]: https://github.com/kettle-dev/token-resolver/compare/v2.0.3...v2.0.4
data/LICENSE.md CHANGED
@@ -3,8 +3,8 @@
3
3
  This project is made available under the following licenses.
4
4
  Choose the option that best fits your use case:
5
5
 
6
- - [AGPL-3.0-only](AGPL-3.0-only.md)
7
- - [PolyForm-Small-Business-1.0.0](PolyForm-Small-Business-1.0.0.md)
6
+ - [AGPL-3.0-only](https://github.com/kettle-dev/token-resolver/blob/main/AGPL-3.0-only.md)
7
+ - [PolyForm-Small-Business-1.0.0](https://github.com/kettle-dev/token-resolver/blob/main/PolyForm-Small-Business-1.0.0.md)
8
8
 
9
9
  If none of the above licenses fit your use case, please [contact us](mailto:floss@galtzo.com) to discuss a custom commercial license.
10
10
 
data/README.md CHANGED
@@ -43,7 +43,7 @@ result = Token::Resolver.resolve(
43
43
  | Works with MRI Ruby 4 | [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
44
44
  | Works with MRI Ruby 3 | [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎ruby-3.2-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎ruby-3.3-wf] [![Ruby 3.4 Compat][💎ruby-3.4i]][🚎ruby-3.4-wf]|
45
45
  | Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Get help from RubyForum][✉️ruby-forum-img]][✉️ruby-forum] [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
46
- | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
46
+ | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on GitHub.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
47
47
  | Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog] [![GitLab Wiki][📜gl-wiki-img]][📜gl-wiki] [![GitHub Wiki][📜gh-wiki-img]][📜gh-wiki] |
48
48
  | Compliance | [![License: AGPL-3.0-only OR PolyForm-Small-Business-1.0.0][📄license-img]][📄license] [![Apache license compatibility: Category X][📄license-compat-img]][📄license-compat] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |
49
49
  | Style | [![Enforced Code Style Linter][💎rlts-img]][💎rlts] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] [![Compatibility appraised by: appraisal2][💎appraisal2-img]][💎appraisal2] |
@@ -331,7 +331,7 @@ See [CHANGELOG.md][📌changelog] for a list of releases.
331
331
 
332
332
  ## 📄 License
333
333
 
334
- The gem is available under the following licenses: [AGPL-3.0-only](AGPL-3.0-only.md), [PolyForm-Small-Business-1.0.0](PolyForm-Small-Business-1.0.0.md).
334
+ The gem is available under the following licenses: [AGPL-3.0-only](https://github.com/kettle-dev/token-resolver/blob/main/AGPL-3.0-only.md), [PolyForm-Small-Business-1.0.0](https://github.com/kettle-dev/token-resolver/blob/main/PolyForm-Small-Business-1.0.0.md).
335
335
  See [LICENSE.md][📄license] for details.
336
336
 
337
337
  If none of the available licenses suit your use case, please [contact us](mailto:floss@galtzo.com) to discuss a custom commercial license.
@@ -448,7 +448,7 @@ Thanks for RTFM. ☺️
448
448
  [📜src-gl]: https://gitlab.com/kettle-dev/token-resolver
449
449
  [📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
450
450
  [📜src-cb]: https://codeberg.org/kettle-dev/token-resolver
451
- [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
451
+ [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=GitHub&logoColor=green
452
452
  [📜src-gh]: https://github.com/kettle-dev/token-resolver
453
453
  [📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
454
454
  [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
@@ -27,7 +27,6 @@ module Token
27
27
  # separators: ["|", ":"],
28
28
  # )
29
29
  # # First boundary uses "|", second uses ":", rest repeat ":"
30
- #
31
30
  class Config
32
31
  # @return [String] Opening delimiter for tokens
33
32
  attr_reader :pre
@@ -18,7 +18,6 @@ module Token
18
18
  # @example Fast-path for text without tokens
19
19
  # doc = Token::Resolver::Document.new("No tokens here")
20
20
  # doc.text_only? # => true
21
- #
22
21
  class Document
23
22
  # @return [Array<Node::Text, Node::Token>] Parsed nodes
24
23
  attr_reader :nodes
@@ -17,7 +17,6 @@ module Token
17
17
  #
18
18
  # @note The raw parslet tree contains one :text entry per character.
19
19
  # Use Transform to coalesce these into proper Text nodes.
20
- #
21
20
  class Grammar
22
21
  # Cache of built parser classes, keyed by Config.
23
22
  # Config is frozen and implements #hash/#eql?, so this is safe.
@@ -12,7 +12,6 @@ module Token
12
12
  # text = Token::Resolver::Node::Text.new("Hello ")
13
13
  # text.to_s # => "Hello "
14
14
  # text.content # => "Hello "
15
- #
16
15
  class Text
17
16
  # @return [String] The text content
18
17
  attr_reader :content
@@ -23,7 +23,6 @@ module Token
23
23
  # token = Token::Resolver::Node::Token.new(["KJ", "SECTION", "NAME"], config)
24
24
  # token.key # => "KJ|SECTION:NAME"
25
25
  # token.to_s # => "{KJ|SECTION:NAME}"
26
- #
27
26
  class Token
28
27
  # @return [Array<String>] The token segments
29
28
  attr_reader :segments
@@ -23,7 +23,6 @@ module Token
23
23
  # resolver = Resolve.new(on_missing: :remove)
24
24
  # resolver.resolve(doc, {})
25
25
  # # => "Hello !"
26
- #
27
26
  class Resolve
28
27
  VALID_ON_MISSING = %i[raise keep remove].freeze
29
28
 
@@ -15,7 +15,6 @@ module Token
15
15
  # tree = Grammar.build(config).new.parse("Hi {KJ|X}!")
16
16
  # nodes = Transform.apply(tree, config)
17
17
  # # => [Node::Text("Hi "), Node::Token(["KJ", "X"]), Node::Text("!")]
18
- #
19
18
  class Transform
20
19
  class << self
21
20
  # Transform a parslet tree into an array of Text and Token nodes.
@@ -2,9 +2,12 @@
2
2
 
3
3
  module Token
4
4
  module Resolver
5
+ # Version namespace for this gem.
5
6
  module Version
6
- VERSION = "2.0.5"
7
+ # Current gem version.
8
+ VERSION = "2.0.6"
7
9
  end
10
+ # Current gem version exposed at the traditional constant location.
8
11
  VERSION = Version::VERSION # Traditional Constant Location
9
12
  end
10
13
  end
@@ -23,7 +23,6 @@ module Token
23
23
  # {"KJ|NAME" => "World", "KJ|PROJECT" => "token-resolver"}
24
24
  # )
25
25
  # # => "Hello World, welcome to token-resolver!"
26
- #
27
26
  module Resolver
28
27
  # Base error class for all token-resolver operations.
29
28
  # @api public
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.5
4
+ version: 2.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -139,6 +139,26 @@ dependencies:
139
139
  - - ">="
140
140
  - !ruby/object:Gem::Version
141
141
  version: 1.0.4
142
+ - !ruby/object:Gem::Dependency
143
+ name: anonymous_loader
144
+ requirement: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - "~>"
147
+ - !ruby/object:Gem::Version
148
+ version: '0.1'
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: 0.1.3
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '0.1'
159
+ - - ">="
160
+ - !ruby/object:Gem::Version
161
+ version: 0.1.3
142
162
  - !ruby/object:Gem::Dependency
143
163
  name: appraisal2
144
164
  requirement: !ruby/object:Gem::Requirement
@@ -168,7 +188,7 @@ dependencies:
168
188
  version: '2.0'
169
189
  - - ">="
170
190
  - !ruby/object:Gem::Version
171
- version: 2.0.11
191
+ version: 2.0.16
172
192
  type: :development
173
193
  prerelease: false
174
194
  version_requirements: !ruby/object:Gem::Requirement
@@ -178,7 +198,7 @@ dependencies:
178
198
  version: '2.0'
179
199
  - - ">="
180
200
  - !ruby/object:Gem::Version
181
- version: 2.0.11
201
+ version: 2.0.16
182
202
  - !ruby/object:Gem::Dependency
183
203
  name: turbo_tests2
184
204
  requirement: !ruby/object:Gem::Requirement
@@ -188,7 +208,7 @@ dependencies:
188
208
  version: '3.2'
189
209
  - - ">="
190
210
  - !ruby/object:Gem::Version
191
- version: 3.2.0
211
+ version: 3.2.3
192
212
  type: :development
193
213
  prerelease: false
194
214
  version_requirements: !ruby/object:Gem::Requirement
@@ -198,7 +218,7 @@ dependencies:
198
218
  version: '3.2'
199
219
  - - ">="
200
220
  - !ruby/object:Gem::Version
201
- version: 3.2.0
221
+ version: 3.2.3
202
222
  - !ruby/object:Gem::Dependency
203
223
  name: ruby-progressbar
204
224
  requirement: !ruby/object:Gem::Requirement
@@ -222,7 +242,7 @@ dependencies:
222
242
  version: '1.0'
223
243
  - - ">="
224
244
  - !ruby/object:Gem::Version
225
- version: 1.0.6
245
+ version: 1.0.7
226
246
  type: :development
227
247
  prerelease: false
228
248
  version_requirements: !ruby/object:Gem::Requirement
@@ -232,7 +252,7 @@ dependencies:
232
252
  version: '1.0'
233
253
  - - ">="
234
254
  - !ruby/object:Gem::Version
235
- version: 1.0.6
255
+ version: 1.0.7
236
256
  - !ruby/object:Gem::Dependency
237
257
  name: gitmoji-regex
238
258
  requirement: !ruby/object:Gem::Requirement
@@ -242,7 +262,7 @@ dependencies:
242
262
  version: '2.0'
243
263
  - - ">="
244
264
  - !ruby/object:Gem::Version
245
- version: 2.0.4
265
+ version: 2.0.6
246
266
  type: :development
247
267
  prerelease: false
248
268
  version_requirements: !ruby/object:Gem::Requirement
@@ -252,7 +272,7 @@ dependencies:
252
272
  version: '2.0'
253
273
  - - ">="
254
274
  - !ruby/object:Gem::Version
255
- version: 2.0.4
275
+ version: 2.0.6
256
276
  description: "\U0001FA99 Token::Resolver provides configurable PEG-based (parslet)
257
277
  parsing and resolution of structured tokens (e.g., {KJ|GEM_NAME}) in arbitrary text.
258
278
  Useful for template ETL pipelines where tokens in template files must be resolved
@@ -284,10 +304,10 @@ licenses:
284
304
  - PolyForm-Small-Business-1.0.0
285
305
  metadata:
286
306
  homepage_uri: https://token-resolver.galtzo.com/
287
- source_code_uri: https://github.com/kettle-dev/token-resolver/tree/v2.0.5
288
- changelog_uri: https://github.com/kettle-dev/token-resolver/blob/v2.0.5/CHANGELOG.md
307
+ source_code_uri: https://github.com/kettle-dev/token-resolver/tree/v2.0.6
308
+ changelog_uri: https://github.com/kettle-dev/token-resolver/blob/v2.0.6/CHANGELOG.md
289
309
  bug_tracker_uri: https://github.com/kettle-dev/token-resolver/issues
290
- documentation_uri: https://www.rubydoc.info/gems/token-resolver/2.0.5
310
+ documentation_uri: https://www.rubydoc.info/gems/token-resolver/2.0.6
291
311
  funding_uri: https://github.com/sponsors/pboling
292
312
  wiki_uri: https://github.com/kettle-dev/token-resolver/wiki
293
313
  news_uri: https://www.railsbling.com/tags/token-resolver
@@ -317,7 +337,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
317
337
  - !ruby/object:Gem::Version
318
338
  version: '0'
319
339
  requirements: []
320
- rubygems_version: 4.0.16
340
+ rubygems_version: 4.0.17
321
341
  specification_version: 4
322
342
  summary: "\U0001FA99 Configurable PEG-based token parser and resolver for structured
323
343
  token detection and replacement in arbitrary text"
metadata.gz.sig CHANGED
Binary file