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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +109 -1
- data/LICENSE.md +1 -1
- data/README.md +33 -31
- data/exe/yaml-convert +8 -2
- data/lib/yaml/converter/version.rb +4 -1
- data/lib/yaml/converter.rb +2 -1
- data/sig/yaml/converter.rbs +39 -0
- data.tar.gz.sig +0 -0
- metadata +47 -48
- metadata.gz.sig +0 -0
- data/CITATION.cff +0 -20
- data/CODE_OF_CONDUCT.md +0 -134
- data/CONTRIBUTING.md +0 -275
- data/FUNDING.md +0 -70
- data/MIT.md +0 -21
- data/RUBOCOP.md +0 -71
- data/SECURITY.md +0 -21
- data/certs/pboling.pem +0 -27
- data/sig/yaml/converter/config.rbs +0 -13
- data/sig/yaml/converter/markdown_emitter.rbs +0 -14
- data/sig/yaml/converter/streaming_emitter.rbs +0 -13
- data/sig/yaml/converter/validation.rbs +0 -9
- data/sig/yaml/converter/version.rbs +0 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4b3078dbc757fd587ffa334a760e5bdfd52e17a5fd8f8e8d76d977ff599f4344
|
|
4
|
+
data.tar.gz: d83e554605bc98b11f3721d6fe9ef8ffdfe1882c626f40aa0e1f2f4bcb25e97b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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
data/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
<a href="https://github.com/galtzo-floss"><img alt="galtzo-floss Logo by
|
|
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] [![
|
|
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
|
|
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
|
|
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 |
|
|
72
|
+
| Gem | Source | Role | Total downloads |
|
|
73
73
|
|-----|--------|------|---------------------|
|
|
74
|
-
| [appraisal2](https://
|
|
75
|
-
| [appraisal2-rubocop](https://
|
|
76
|
-
| [kettle-dev](https://
|
|
77
|
-
| [kettle-jem](https://
|
|
78
|
-
| [kettle-soup-cover](https://
|
|
79
|
-
| [kettle-test](https://
|
|
80
|
-
| [rubocop-lts](https://
|
|
81
|
-
| [turbo_tests2](https://
|
|
74
|
+
| [appraisal2](https://clickgems.clickhouse.com/dashboard/appraisal2) | [GitHub](https://github.com/appraisal-rb/appraisal2) | multi-dependency Appraisal matrix generation | [](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 | [](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 | [](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 | [](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 | [](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 | [](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 | [](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 | [](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 |
|
|
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 |
|
|
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 [](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
|
|
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
|
|
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://
|
|
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=
|
|
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://
|
|
653
|
-
[👽dl-ranki]: https://img.shields.io/gem/
|
|
654
|
-
[👽version]: https://
|
|
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
|
-
|
|
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
|
data/lib/yaml/converter.rb
CHANGED
|
@@ -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
|
data/sig/yaml/converter.rbs
CHANGED
|
@@ -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
|