yaml-converter 0.2.3 → 0.2.5

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: eacf4ee6d856860e8c9d21a20cfbcaeafafefc322db57520bdd666bac9e5bd1f
4
- data.tar.gz: e13ca40380536617144544d63a779eab88ae9fc8c991fbdc92111679f826b431
3
+ metadata.gz: 4b3078dbc757fd587ffa334a760e5bdfd52e17a5fd8f8e8d76d977ff599f4344
4
+ data.tar.gz: d83e554605bc98b11f3721d6fe9ef8ffdfe1882c626f40aa0e1f2f4bcb25e97b
5
5
  SHA512:
6
- metadata.gz: 14f442c45b35c1519eb89c2cb3cc598b5855cdf5bac6c378ecc06671e24bbfbd0024b74c8aa429abab3177cf1522ab622a8223158daff2a7cd6a1d7a7a7ac3eb
7
- data.tar.gz: d22b909cdfb54efb9b7d82a70af2678d56af6b5776d73f0744a888cf376d6110810ce3503c3c3b35723105dc9cac216b3fceb9604d11362e4084abfc3bb9ffca
6
+ metadata.gz: ea943baaa8a8c2b995e94dff67133ed50bc4012ccef10725445a0a6c39e8084233a599f1a45fc549d88ece81466068ea8efa71f25cdc9d0b2d8d432504fb20b8
7
+ data.tar.gz: 950cfa0ebacf080274f76b3f942a19774e8542c5614af8ed1a55fe8c97d0351d40acc6787293b17ed58b250ebd055520f5fcb82f63ac07714343177b5938ffe6
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,110 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [0.2.5] - 2026-08-09
34
+
35
+ - TAG: [v0.2.5][0.2.5t]
36
+ - COVERAGE: 92.69% -- 444/479 lines in 10 files
37
+ - BRANCH COVERAGE: 68.42% -- 117/171 branches in 10 files
38
+ - 66.67% documented
39
+
40
+ ### Changed
41
+
42
+ - kettle-jem-template-20260801-001 - Generated README gem dashboard links now
43
+ use ClickGems instead of BestGems.
44
+
45
+ ### Fixed
46
+
47
+ - kettle-jem-template-20260801-002 - Generated RSpec helpers now normalize
48
+ managed configuration block bindings structurally, preventing mixed block
49
+ parameter names from producing invalid configuration after a merge.
50
+ - kettle-jem-template-20260801-003 - Generated project metadata and
51
+ documentation now normalize configured underscore hostnames to valid
52
+ hyphenated hostnames.
53
+ - kettle-jem-template-20260801-004 - Generated organization README logos now
54
+ use GitHub's stable organization avatar endpoint instead of assuming a
55
+ matching Galtzo-hosted asset exists.
56
+
57
+ - kettle-jem-template-20260802-001 - Devcontainer JSON files now merge as JSONC,
58
+ preserving comments and trailing commas during template updates.
59
+
60
+ ## [0.2.4] - 2026-07-31
61
+
62
+ - TAG: [v0.2.4][0.2.4t]
63
+ - COVERAGE: 92.69% -- 444/479 lines in 10 files
64
+ - BRANCH COVERAGE: 68.42% -- 117/171 branches in 10 files
65
+ - 66.67% documented
66
+
67
+ ### Added
68
+
69
+ - Documentation linting now has its generated `yard-lint` dependency and severity config available in the local bundle.
70
+
71
+ - kettle-jem-template-20260726-001 - Projects now include YARD lint
72
+ configuration and documentation dependencies so documentation issues fail
73
+ before generated docs are refreshed.
74
+
75
+ - kettle-jem-template-20260727-001 - Spec harness documentation now lists the
76
+ RSpec helpers provided by `kettle-test`.
77
+
78
+ ### Changed
79
+
80
+ - The `yaml-convert` executable startup header is now shown only when
81
+ `--verbose` is passed; `-v` and `--version` still print just the executable
82
+ version and exit.
83
+
84
+ - The `yaml-convert` executable supports `-v` / `--version` for version-only
85
+ output.
86
+
87
+ - kettle-jem-template-20260716-002 - Generated gemspec manifests now ship fewer
88
+ repository-only files by default to reduce downstream distro packaging churn.
89
+ - kettle-jem-template-20260720-002 - Generated development Gemfiles now use the
90
+ released `tree_sitter_language_pack` gem 1.13.3 or newer by default.
91
+ - kettle-jem-template-20260720-003 - Generated StructuredMerge Git diff driver
92
+ config now uses the installed `smorg-rb` Ruby driver name.
93
+ - kettle-jem-template-20260720-005 - Generated README Support & Community rows
94
+ now include a RubyForum help badge.
95
+ - kettle-jem-template-20260725-001 - Generated JRuby and TruffleRuby workflow
96
+ files now run when pull request head branches start with `feature/release`,
97
+ so release CI monitoring does not report intentionally skipped engine
98
+ workflows as failures.
99
+
100
+ - kettle-jem-template-20260725-002 - Generated gemspec templates now include
101
+ `anonymous_loader` as a development dependency, and version specs use it to
102
+ execute generated `version.rb` files for coverage without redefining package
103
+ constants. Managed version specs are removed when `version_gem` is disabled
104
+ or incompatible with the project's runtime Ruby floor.
105
+
106
+ - kettle-jem-template-20260728-001 - Generated Ruby workflows now use clearer
107
+ setup-ruby-flash planning and can prepare appraisal-only jobs without
108
+ installing the main Gemfile bundle.
109
+
110
+ ### Fixed
111
+
112
+ - kettle-jem-template-20260726-002 - Generated version files now document their
113
+ version namespace and constants, reducing warning-only YARD lint output.
114
+
115
+ - kettle-jem-template-20260726-003 - Coverage upload steps now treat Coveralls,
116
+ QLTY, and Codecov as optional, so provider outages do not fail CI when local
117
+ coverage thresholds still pass.
118
+ - kettle-jem-template-20260728-002 - Generated RuboCop configs now ignore the
119
+ same `gemfiles/vendor/bundle` tree as `.gitignore`, so vendored dependency
120
+ installs are not reported as project lint debt.
121
+ - kettle-jem-template-20260728-003 - Generated dep-heads workflows now run
122
+ TruffleRuby jobs with current RubyGems and Bundler, avoiding setup failures
123
+ before the test suite starts.
124
+
125
+ - kettle-jem-template-20260728-004 - Generated dep-heads workflows now use the
126
+ setup-ruby Bundler install path for direct appraisal Gemfiles, avoiding rv
127
+ lockfile parser failures on Git and path dependencies.
128
+
129
+ - kettle-jem-template-20260728-005 - VersionGem bootstrap now creates the
130
+ missing canonical version spec when a project only has shim namespace version
131
+ specs.
132
+
133
+ - kettle-jem-template-20260730-001 - Gemspec package file enumeration now runs
134
+ relative to the gemspec directory, so packaged template assets are included
135
+ even when the gemspec is loaded from another working directory.
136
+
33
137
  ## [0.2.3] - 2026-07-02
34
138
 
35
139
  - TAG: [v0.2.3][0.2.3t]
@@ -113,7 +217,11 @@ Please file a bug if you notice a violation of semantic versioning.
113
217
 
114
218
  ### Security
115
219
 
116
- [Unreleased]: https://github.com/galtzo-floss/yaml-converter/compare/v0.2.3...HEAD
220
+ [Unreleased]: https://github.com/galtzo-floss/yaml-converter/compare/v0.2.5...HEAD
221
+ [0.2.5]: https://github.com/galtzo-floss/yaml-converter/compare/v0.2.4...v0.2.5
222
+ [0.2.5t]: https://github.com/galtzo-floss/yaml-converter/releases/tag/v0.2.5
223
+ [0.2.4]: https://github.com/galtzo-floss/yaml-converter/compare/v0.2.3...v0.2.4
224
+ [0.2.4t]: https://github.com/galtzo-floss/yaml-converter/releases/tag/v0.2.4
117
225
  [0.2.3]: https://github.com/galtzo-floss/yaml-converter/compare/v0.2.2...v0.2.3
118
226
  [0.2.3t]: https://github.com/galtzo-floss/yaml-converter/releases/tag/v0.2.3
119
227
  [0.2.2]: https://github.com/galtzo-floss/yaml-converter/compare/v0.2.1...v0.2.2
data/LICENSE.md CHANGED
@@ -3,7 +3,7 @@
3
3
  This project is made available under the following license.
4
4
  Choose the option that best fits your use case:
5
5
 
6
- - [MIT](MIT.md)
6
+ - [MIT](https://github.com/galtzo-floss/yaml-converter/blob/main/MIT.md)
7
7
 
8
8
  ## Copyright Notice
9
9
 
data/README.md CHANGED
@@ -1,10 +1,10 @@
1
- <a href="https://github.com/galtzo-floss"><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="14%" align="right"/></a>
1
+ <a href="https://github.com/galtzo-floss"><img alt="galtzo-floss Logo by GitHub" src="https://github.com/galtzo-floss.png?size=192" width="14%" align="right"/></a>
2
2
 
3
3
  # 🥨 Yaml::Converter
4
4
 
5
- [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄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] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
5
+ [![Version][👽versioni]][👽version] [![Ruby Users Forum][✉️ruby-forum-top-img]][✉️ruby-forum] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license] [![Total downloads][👽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] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
6
6
 
7
- `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][✉️discord-invite], as I may have missed the [discord notification][✉️discord-invite].
7
+ `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know on Discord][✉️discord-invite] or [RubyForum][✉️ruby-forum], as I may have missed the notification.
8
8
 
9
9
  ---
10
10
 
@@ -46,8 +46,8 @@ Alternatives (none in Ruby, send a PR if you know of one):
46
46
  | Works with Truffle Ruby | [![Truffle Ruby 24.2 Compat][💎truby-24.2i]][🚎truby-24.2-wf] [![Truffle Ruby 25.0 Compat][💎truby-25.0i]][🚎truby-25.0-wf] [![Truffle Ruby 33.0 Compat][💎truby-33.0i]][🚎truby-33.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf] [![Truffle Ruby HEAD Compat][💎truby-headi]][🚎3-hd-wf]|
47
47
  | Works with MRI Ruby 4 | [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
48
48
  | 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]|
49
- | Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![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] |
50
- | 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] |
49
+ | 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] |
50
+ | 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] |
51
51
  | 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] |
52
52
  | Compliance | [![License: MIT][📄license-img]][📄license] [![Apache license compatibility: Category A][📄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] |
53
53
  | 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] |
@@ -69,16 +69,16 @@ The _amazing_ test matrix is powered by the kettle-dev stack.
69
69
  <details markdown="1">
70
70
  <summary>How kettle-dev manages complexity in tests</summary>
71
71
 
72
- | Gem | Source | Role | Daily download rank |
72
+ | Gem | Source | Role | Total downloads |
73
73
  |-----|--------|------|---------------------|
74
- | [appraisal2](https://bestgems.org/gems/appraisal2) | [GitHub](https://github.com/appraisal-rb/appraisal2) | multi-dependency Appraisal matrix generation | [![Daily download rank for appraisal2](https://img.shields.io/gem/rd/appraisal2.svg?style=flat-square)](https://bestgems.org/gems/appraisal2) |
75
- | [appraisal2-rubocop](https://bestgems.org/gems/appraisal2-rubocop) | [GitHub](https://github.com/appraisal-rb/appraisal2-rubocop) | RuboCop Appraisal generator integration | [![Daily download rank for appraisal2-rubocop](https://img.shields.io/gem/rd/appraisal2-rubocop.svg?style=flat-square)](https://bestgems.org/gems/appraisal2-rubocop) |
76
- | [kettle-dev](https://bestgems.org/gems/kettle-dev) | [GitHub](https://github.com/kettle-dev/kettle-dev) | development, release, and CI workflow tooling | [![Daily download rank for kettle-dev](https://img.shields.io/gem/rd/kettle-dev.svg?style=flat-square)](https://bestgems.org/gems/kettle-dev) |
77
- | [kettle-jem](https://bestgems.org/gems/kettle-jem) | [GitHub](https://github.com/kettle-dev/kettle-jem) | Appraisals & CI workflow templates | [![Daily download rank for kettle-jem](https://img.shields.io/gem/rd/kettle-jem.svg?style=flat-square)](https://bestgems.org/gems/kettle-jem) |
78
- | [kettle-soup-cover](https://bestgems.org/gems/kettle-soup-cover) | [GitHub](https://github.com/kettle-dev/kettle-soup-cover) | SimpleCov coverage policy and reporting | [![Daily download rank for kettle-soup-cover](https://img.shields.io/gem/rd/kettle-soup-cover.svg?style=flat-square)](https://bestgems.org/gems/kettle-soup-cover) |
79
- | [kettle-test](https://bestgems.org/gems/kettle-test) | [GitHub](https://github.com/kettle-dev/kettle-test) | standard test runner and coverage harness | [![Daily download rank for kettle-test](https://img.shields.io/gem/rd/kettle-test.svg?style=flat-square)](https://bestgems.org/gems/kettle-test) |
80
- | [rubocop-lts](https://bestgems.org/gems/rubocop-lts) | [GitHub](https://github.com/rubocop-lts/rubocop-lts) | Ruby-version-aware linting | [![Daily download rank for rubocop-lts](https://img.shields.io/gem/rd/rubocop-lts.svg?style=flat-square)](https://bestgems.org/gems/rubocop-lts) |
81
- | [turbo_tests2](https://bestgems.org/gems/turbo_tests2) | [GitHub](https://github.com/galtzo-floss/turbo_tests2) | parallel test execution | [![Daily download rank for turbo_tests2](https://img.shields.io/gem/rd/turbo_tests2.svg?style=flat-square)](https://bestgems.org/gems/turbo_tests2) |
74
+ | [appraisal2](https://clickgems.clickhouse.com/dashboard/appraisal2) | [GitHub](https://github.com/appraisal-rb/appraisal2) | multi-dependency Appraisal matrix generation | [![Total downloads for appraisal2](https://img.shields.io/gem/dt/appraisal2.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/appraisal2) |
75
+ | [appraisal2-rubocop](https://clickgems.clickhouse.com/dashboard/appraisal2-rubocop) | [GitHub](https://github.com/appraisal-rb/appraisal2-rubocop) | RuboCop Appraisal generator integration | [![Total downloads for appraisal2-rubocop](https://img.shields.io/gem/dt/appraisal2-rubocop.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/appraisal2-rubocop) |
76
+ | [kettle-dev](https://clickgems.clickhouse.com/dashboard/kettle-dev) | [GitHub](https://github.com/kettle-dev/kettle-dev) | development, release, and CI workflow tooling | [![Total downloads for kettle-dev](https://img.shields.io/gem/dt/kettle-dev.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-dev) |
77
+ | [kettle-jem](https://clickgems.clickhouse.com/dashboard/kettle-jem) | [GitHub](https://github.com/kettle-dev/kettle-jem) | Appraisals & CI workflow templates | [![Total downloads for kettle-jem](https://img.shields.io/gem/dt/kettle-jem.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-jem) |
78
+ | [kettle-soup-cover](https://clickgems.clickhouse.com/dashboard/kettle-soup-cover) | [GitHub](https://github.com/kettle-dev/kettle-soup-cover) | SimpleCov coverage policy and reporting | [![Total downloads for kettle-soup-cover](https://img.shields.io/gem/dt/kettle-soup-cover.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-soup-cover) |
79
+ | [kettle-test](https://clickgems.clickhouse.com/dashboard/kettle-test) | [GitHub](https://github.com/kettle-dev/kettle-test) | standard test runner and coverage harness | [![Total downloads for kettle-test](https://img.shields.io/gem/dt/kettle-test.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-test) |
80
+ | [rubocop-lts](https://clickgems.clickhouse.com/dashboard/rubocop-lts) | [GitHub](https://github.com/rubocop-lts/rubocop-lts) | Ruby-version-aware linting | [![Total downloads for rubocop-lts](https://img.shields.io/gem/dt/rubocop-lts.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/rubocop-lts) |
81
+ | [turbo_tests2](https://clickgems.clickhouse.com/dashboard/turbo_tests2) | [GitHub](https://github.com/galtzo-floss/turbo_tests2) | parallel test execution | [![Total downloads for turbo_tests2](https://img.shields.io/gem/dt/turbo_tests2.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/turbo_tests2) |
82
82
 
83
83
  </details>
84
84
 
@@ -87,17 +87,14 @@ The _amazing_ test matrix is powered by the kettle-dev stack.
87
87
  <details markdown="1">
88
88
  <summary>Find this repo on federated forges (Coming soon!)</summary>
89
89
 
90
- | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
91
- |-------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
92
- | 🧪 [galtzo-floss/yaml-converter on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ |
93
- | 🧊 [galtzo-floss/yaml-converter on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
94
- | 🐙 [galtzo-floss/yaml-converter on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix | [💚][gh-discussions] |
95
- | 🎮️ [Discord Server][✉️discord-invite] | [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] | [Let's][✉️discord-invite] | [talk][✉️discord-invite] | [about][✉️discord-invite] | [this][✉️discord-invite] | [library!][✉️discord-invite] |
90
+ | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI |
91
+ |-------------------------------------------------|-------------------------------------------|-------------------|------------------|-----------------|----------------|
92
+ | 🧪 [galtzo-floss/yaml-converter on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix |
93
+ | 🧊 [galtzo-floss/yaml-converter on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix |
94
+ | 🐙 [galtzo-floss/yaml-converter on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix |
96
95
 
97
96
  </details>
98
97
 
99
- [gh-discussions]: https://github.com/galtzo-floss/yaml-converter/discussions
100
-
101
98
  ### Enterprise Support [![Tidelift](https://tidelift.com/badges/package/rubygems/yaml-converter)](https://tidelift.com/subscription/pkg/rubygems-yaml-converter?utm_source=rubygems-yaml-converter&utm_medium=referral&utm_campaign=readme)
102
99
 
103
100
  Available as part of the Tidelift Subscription.
@@ -115,6 +112,7 @@ The maintainers of this and thousands of other packages are working with Tidelif
115
112
 
116
113
  Alternatively:
117
114
 
115
+ - [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
118
116
  - [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
119
117
  - [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork]
120
118
  - [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor]
@@ -529,7 +527,7 @@ See [CHANGELOG.md][📌changelog] for a list of releases.
529
527
  ## 📄 License
530
528
 
531
529
  The gem is available as open source under the terms of
532
- the [MIT](MIT.md) [![License: MIT][📄license-img]][📄license-ref].
530
+ the [MIT](https://github.com/galtzo-floss/yaml-converter/blob/main/MIT.md) [![License: MIT][📄license-img]][📄license-ref].
533
531
 
534
532
  ### © Copyright
535
533
 
@@ -551,11 +549,12 @@ I'm hoping to be able to pay for my kids' health insurance this month,
551
549
  so if you value the work I am doing, I need your support.
552
550
  Please consider sponsoring me or the project.
553
551
 
554
- To join the community or get help 👇️ Join the Discord.
552
+ To join the community or get help, use the RubyForum or Discord.
555
553
 
554
+ [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
556
555
  [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
557
556
 
558
- To say "thanks!" ☝️ Join the Discord or 👇️ send money.
557
+ To say "thanks!" ☝️ Join the community or 👇️ send money.
559
558
 
560
559
  [![Sponsor galtzo-floss/yaml-converter on Open Source Collective][🖇osc-all-bottom-img]][🖇osc] 💌 [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]
561
560
 
@@ -596,11 +595,14 @@ Thanks for RTFM. ☺️
596
595
  [✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge&logo=discord
597
596
  [✉️ruby-friends-img]: https://img.shields.io/badge/daily.dev-%F0%9F%92%8E_Ruby_Friends-0A0A0A?style=for-the-badge&logo=dailydotdev&logoColor=white
598
597
  [✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
598
+ [✉️ruby-forum-top-img]: https://img.shields.io/discourse/topics?server=https%3A%2F%2Fwww.rubyforum.org&style=flat&logo=discourse&label=Ruby%20Users%20Forum
599
+ [✉️ruby-forum-img]: https://img.shields.io/discourse/topics?server=https%3A%2F%2Fwww.rubyforum.org&style=for-the-badge&logo=discourse&label=Ruby%20Users%20Forum
600
+ [✉️ruby-forum]: https://www.rubyforum.org/tag/galtzo-floss
599
601
 
600
602
  [✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
601
603
  [⛳️gem-namespace]: https://github.com/galtzo-floss/yaml-converter
602
604
  [⛳️namespace-img]: https://img.shields.io/badge/namespace-Yaml::Converter-3C2D2D.svg?style=square&logo=ruby&logoColor=white
603
- [⛳️gem-name]: https://bestgems.org/gems/yaml-converter
605
+ [⛳️gem-name]: https://clickgems.clickhouse.com/dashboard/yaml-converter
604
606
  [⛳️name-img]: https://img.shields.io/badge/name-yaml--converter-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
605
607
  [⛳️tag-img]: https://img.shields.io/github/tag/galtzo-floss/yaml-converter.svg
606
608
  [⛳️tag]: https://github.com/galtzo-floss/yaml-converter/releases
@@ -641,7 +643,7 @@ Thanks for RTFM. ☺️
641
643
  [📜src-gl]: https://gitlab.com/galtzo-floss/yaml-converter
642
644
  [📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
643
645
  [📜src-cb]: https://codeberg.org/galtzo-floss/yaml-converter
644
- [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
646
+ [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=GitHub&logoColor=green
645
647
  [📜src-gh]: https://github.com/galtzo-floss/yaml-converter
646
648
  [📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
647
649
  [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
@@ -649,9 +651,9 @@ Thanks for RTFM. ☺️
649
651
  [📜gh-wiki]: https://github.com/galtzo-floss/yaml-converter/wiki
650
652
  [📜gl-wiki-img]: https://img.shields.io/badge/wiki-gitlab-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
651
653
  [📜gh-wiki-img]: https://img.shields.io/badge/wiki-github-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
652
- [👽dl-rank]: https://bestgems.org/gems/yaml-converter
653
- [👽dl-ranki]: https://img.shields.io/gem/rd/yaml-converter.svg
654
- [👽version]: https://bestgems.org/gems/yaml-converter
654
+ [👽dl-rank]: https://clickgems.clickhouse.com/dashboard/yaml-converter
655
+ [👽dl-ranki]: https://img.shields.io/gem/dt/yaml-converter.svg
656
+ [👽version]: https://clickgems.clickhouse.com/dashboard/yaml-converter
655
657
  [👽versioni]: https://img.shields.io/gem/v/yaml-converter.svg
656
658
  [🏀qlty-mnt]: https://qlty.sh/gh/galtzo-floss/projects/yaml-converter
657
659
  [🏀qlty-mnti]: https://qlty.sh/gh/galtzo-floss/projects/yaml-converter/maintainability.svg
@@ -732,7 +734,7 @@ Thanks for RTFM. ☺️
732
734
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
733
735
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
734
736
  [📄license]: LICENSE.md
735
- [📄license-ref]: MIT.md
737
+ [📄license-ref]: https://github.com/galtzo-floss/yaml-converter/blob/main/MIT.md
736
738
  [📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
737
739
  [📄license-compat]: https://www.apache.org/legal/resolved.html#category-a
738
740
  [📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
data/exe/yaml-convert CHANGED
@@ -4,6 +4,7 @@
4
4
  require "optparse"
5
5
  require "fileutils"
6
6
  require "yaml/converter"
7
+ require "yaml/converter/version"
7
8
 
8
9
  options = {
9
10
  max_line_length: nil,
@@ -17,7 +18,8 @@ options = {
17
18
  out_dir: nil,
18
19
  concurrency: nil,
19
20
  streaming: nil,
20
- streaming_threshold_bytes: nil
21
+ streaming_threshold_bytes: nil,
22
+ verbose: false
21
23
  }
22
24
 
23
25
  parser = OptionParser.new do |opts|
@@ -31,6 +33,7 @@ parser = OptionParser.new do |opts|
31
33
  opts.on("--pandoc-args STRING", "Extra args for pandoc (split on spaces)") { |v| options[:pandoc_args] = v.split(/\s+/) }
32
34
  opts.on("--streaming", "Force streaming mode for markdown output") { options[:streaming] = true }
33
35
  opts.on("--streaming-threshold BYTES", Integer, "Auto-enable streaming when input file >= BYTES") { |v| options[:streaming_threshold_bytes] = v }
36
+ opts.on("--verbose", "Show startup header") { options[:verbose] = true }
34
37
 
35
38
  # Batch mode
36
39
  opts.on("--glob PATTERN", "Batch convert all YAML files matching the glob pattern") { |v| options[:glob] = v }
@@ -38,7 +41,7 @@ parser = OptionParser.new do |opts|
38
41
  opts.on("--out-dir DIR", "Output directory for batch mode (defaults next to input)") { |v| options[:out_dir] = v }
39
42
  opts.on("--concurrency N", Integer, "Batch concurrency (currently not used; reserved)") { |v| options[:concurrency] = v }
40
43
 
41
- opts.on("--version", "Show version") {
44
+ opts.on("-v", "--version", "Show version") {
42
45
  puts Yaml::Converter::VERSION
43
46
  exit(0)
44
47
  }
@@ -56,6 +59,9 @@ rescue OptionParser::InvalidOption => e
56
59
  exit(2)
57
60
  end
58
61
 
62
+ script_basename = File.basename(__FILE__)
63
+ puts "== #{script_basename} v#{Yaml::Converter::VERSION} ==" if options[:verbose]
64
+
59
65
  # Batch mode if --glob is provided
60
66
  if options[:glob]
61
67
  pattern = options[:glob]
@@ -2,9 +2,12 @@
2
2
 
3
3
  module Yaml
4
4
  module Converter
5
+ # Version namespace for this gem.
5
6
  module Version
6
- VERSION = "0.2.3"
7
+ # Current gem version.
8
+ VERSION = "0.2.5"
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
@@ -4,11 +4,11 @@
4
4
  require "version_gem"
5
5
 
6
6
  # This library
7
- require_relative "converter/version"
8
7
  require_relative "converter/config"
9
8
  require_relative "converter/validation"
10
9
  require_relative "converter/markdown_emitter"
11
10
  require_relative "converter/streaming_emitter"
11
+ require_relative "converter/version"
12
12
 
13
13
  module Yaml
14
14
  module Converter
@@ -208,6 +208,7 @@ module Yaml
208
208
  end
209
209
 
210
210
  # Extend the Version with VersionGem::Basic to provide semantic version helpers.
211
+
211
212
  Yaml::Converter::Version.class_eval do
212
213
  extend VersionGem::Basic
213
214
  end
@@ -37,5 +37,44 @@ module Yaml
37
37
  def self.to_markdown_streaming: (String input_path, untyped io, ?options: options) -> void
38
38
  def self.validate: (String yaml_string) -> { status: Symbol, error: Exception? }
39
39
  def self.convert: (input_path: String, output_path: String, ?options: options) -> { status: Symbol, output_path: String, validation: { status: Symbol, error: Exception? } }
40
+ module Config
41
+ DEFAULTS: { max_line_length: Integer, truncate: bool, margin_notes: Symbol, validate: bool, use_pandoc: bool, pandoc_args: Array[String], pandoc_path: String? , html_theme: Symbol, pdf_page_size: String, pdf_margin: Array[Integer], pdf_title_font_size: Integer, pdf_body_font_size: Integer, pdf_yaml_font_size: Integer, pdf_two_column_notes: bool, current_date: untyped, emit_footer: bool, streaming: bool, streaming_threshold_bytes: Integer }
42
+ ENV_MAP: { max_line_length: String, truncate: String, margin_notes: String, validate: String, use_pandoc: String, pdf_page_size: String, pdf_title_font_size: String, pdf_body_font_size: String, pdf_yaml_font_size: String, pdf_two_column_notes: String, emit_footer: String, streaming: String, streaming_threshold_bytes: String }
43
+ BOOLEAN_KEYS: Array[Symbol]
44
+
45
+ def self.resolve: (?Hash[Symbol, untyped]) -> Hash[Symbol, untyped]
46
+ def self.normalize: (Hash[Symbol, untyped]) -> Hash[Symbol, untyped]
47
+ def self.coerce_env_value: (Symbol, String) -> untyped
48
+ end
49
+
50
+ class MarkdownEmitter
51
+ START_YAML: String
52
+ END_YAML: String
53
+ VALIDATED_STR: String
54
+ NOTE_STR: String
55
+
56
+ def initialize: (Yaml::Converter::options options) -> void
57
+ def set_validation_status: (Symbol) -> void
58
+ def emit: (Array[String]) -> Array[String]
59
+ end
60
+
61
+ class StreamingEmitter
62
+ START_YAML: String
63
+ END_YAML: String
64
+
65
+ def initialize: (Yaml::Converter::options options, untyped io) -> void
66
+ def set_validation_status: (Symbol) -> void
67
+ def emit_file: (String input_path) -> void
68
+ end
69
+
70
+ module Validation
71
+ def self.validate_string: (String) -> { status: Symbol, error: Exception? }
72
+ def self.validate_file: (String) -> { status: Symbol, error: Exception? }
73
+ end
74
+
75
+ module Version
76
+ VERSION: String
77
+ end
78
+ VERSION: String
40
79
  end
41
80
  end
data.tar.gz.sig CHANGED
Binary file