rkwalify 1.4.0.pre.beta → 1.4.0

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.
Files changed (99) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  3. data/.github/workflows/ruby.yml +2 -2
  4. data/.rubocop.yml +24 -2
  5. data/.ruby-version +1 -1
  6. data/Attic/spec/rspec-ex_spec.rb +1 -1
  7. data/CHANGELOG.md +60 -22
  8. data/CODE_OF_CONDUCT.md +147 -0
  9. data/Gemfile.lock +5 -4
  10. data/README.md +9 -12
  11. data/ROLL-OUT-STRATEGY.md +5 -4
  12. data/SECURITY.md +19 -0
  13. data/bin/kwalify +26 -31
  14. data/bin/kwalify.rb +26 -31
  15. data/devbin/README.md +6 -2
  16. data/{contrib → devbin}/inline-require +1 -1
  17. data/devbin/mkbig-rkwalify.sh +1 -3
  18. data/devbin/mktag +2 -2
  19. data/devbin/rubycheck.sh +39 -0
  20. data/devbin/run-smoketest.sh +17 -0
  21. data/devbin/smoke-tests.golden +67 -73
  22. data/devbin/smoke-tests.sh +23 -20
  23. data/devbin/update-rel-numbers.sh +3 -3
  24. data/doc-api/classes/CommandOptionError.html +1 -1
  25. data/doc-api/classes/Kwalify/Util.html +2 -2
  26. data/doc-api/classes/Kwalify.html +1 -1
  27. data/doc-api/files/__/README_txt.html +1 -1
  28. data/doc-api/files/kwalify/errors_rb.html +1 -1
  29. data/doc-api/files/kwalify/main_rb.html +1 -1
  30. data/doc-api/files/kwalify/messages_rb.html +1 -1
  31. data/doc-api/files/kwalify/meta-validator_rb.html +1 -1
  32. data/doc-api/files/kwalify/parser/base_rb.html +1 -1
  33. data/doc-api/files/kwalify/parser/yaml_rb.html +1 -1
  34. data/doc-api/files/kwalify/rule_rb.html +1 -1
  35. data/doc-api/files/kwalify/types_rb.html +1 -1
  36. data/doc-api/files/kwalify/util/assert-text-equal_rb.html +1 -1
  37. data/doc-api/files/kwalify/util/hash-interface_rb.html +1 -1
  38. data/doc-api/files/kwalify/util/hashlike_rb.html +1 -1
  39. data/doc-api/files/kwalify/util/option-parser_rb.html +1 -1
  40. data/doc-api/files/kwalify/util/ordered-hash_rb.html +1 -1
  41. data/doc-api/files/kwalify/util/testcase-helper_rb.html +1 -1
  42. data/doc-api/files/kwalify/util_rb.html +1 -1
  43. data/doc-api/files/kwalify/validator_rb.html +1 -1
  44. data/doc-api/files/kwalify/yaml-parser_rb.html +1 -1
  45. data/doc-api/files/kwalify_rb.html +1 -1
  46. data/examples/address-book/address-book.schema.yaml +1 -1
  47. data/examples/invoice/invoice.schema.yaml +1 -1
  48. data/examples/tapkit/tapkit.schema.yaml +1 -1
  49. data/lib/kwalify/errors.rb +2 -2
  50. data/lib/kwalify/main.rb +3 -5
  51. data/lib/kwalify/messages.rb +1 -1
  52. data/lib/kwalify/meta-validator.rb +4 -5
  53. data/lib/kwalify/parser/base.rb +2 -3
  54. data/lib/kwalify/parser/yaml.rb +5 -5
  55. data/lib/kwalify/rule.rb +13 -14
  56. data/lib/kwalify/templates/genclass-java.eruby +1 -1
  57. data/lib/kwalify/templates/genclass-php.eruby +1 -1
  58. data/lib/kwalify/templates/genclass-ruby.eruby +1 -1
  59. data/lib/kwalify/types.rb +1 -1
  60. data/lib/kwalify/util/assert-text-equal.rb +2 -2
  61. data/lib/kwalify/util/hash-interface.rb +1 -1
  62. data/lib/kwalify/util/hashlike.rb +5 -4
  63. data/lib/kwalify/util/option-parser.rb +1 -1
  64. data/lib/kwalify/util/ordered-hash.rb +1 -1
  65. data/lib/kwalify/util/testcase-helper.rb +1 -1
  66. data/lib/kwalify/util.rb +8 -7
  67. data/lib/kwalify/validator.rb +38 -13
  68. data/lib/kwalify/version.rb +1 -1
  69. data/lib/kwalify/yaml-parser.rb +17 -14
  70. data/lib/kwalify.rb +26 -1
  71. data/test/Rookbook.yaml +1 -1
  72. data/test/data/users-guide/answers-validator.rb +0 -0
  73. data/test/data/users-guide/validate08.rb +0 -0
  74. data/test/test-action.rb +1 -1
  75. data/test/test-action.yaml +1 -1
  76. data/test/test-databinding.rb +3 -5
  77. data/test/test-databinding.yaml +1 -1
  78. data/test/test-hashlike.rb +29 -0
  79. data/test/test-main.rb +1 -1
  80. data/test/test-main.yaml +1 -1
  81. data/test/test-metavalidator.rb +5 -5
  82. data/test/test-metavalidator.yaml +1 -1
  83. data/test/test-parser-yaml.rb +5 -5
  84. data/test/test-parser-yaml.yaml +1 -2
  85. data/test/test-rule.rb +1 -1
  86. data/test/test-rule.yaml +1 -2
  87. data/test/test-users-guide.rb +1 -1
  88. data/test/test-util.rb +1 -1
  89. data/test/test-validator.rb +4 -4
  90. data/test/test-validator.yaml +1 -1
  91. data/test/test-yaml-parser.rb +3 -3
  92. data/test/test-yaml-parser.yaml +47 -48
  93. data/test/test.rb +40 -25
  94. data/test/test_logger.rb +37 -0
  95. metadata +11 -6
  96. data/.rubocop_todo.yml +0 -1369
  97. data/contrib/kwalify +0 -4167
  98. /data/{contrib → Attic}/kwalify-0.7.2 +0 -0
  99. /data/{MIT-LICENSE → MIT-LICENSE.txt} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a57b6601b57125bc6bd13163156b27db8409eafcc33f0e3a981bf6b2d5db09d0
4
- data.tar.gz: 78679add1b385d4d2e5f2d27add207153409aa17ba7e6100710ec46c7a491e88
3
+ metadata.gz: 5e4ea86fddefc7bf78b01adda604c37f2a500aa4cdd005be7bfca2582e1b1ece
4
+ data.tar.gz: ce99b82cf8190c9730f2931405d4c7a7c2413341b01eab5a239f794734061f1f
5
5
  SHA512:
6
- metadata.gz: 9d7f4a1c7bc06cfc7bfc61c327fbbba7350c828d869b020710a080f912a22c7eb3da8f692163ac3c050b599c50e38437513e811ea33a0bb4c856adb0fc24f532
7
- data.tar.gz: 18f7ad345392fb8842a9aca0580dd07298a6513f8fea1cf74f1e98c55226151f0e3820389c5112d197d38cfc15de79c8095138172ba2654efe9a3038e5c5c4f0
6
+ metadata.gz: c0a757197d5d0d6b1cf78a80c2c6aee605a69745ec56cf3ad1d377935c078414cace3d1b13629901e83e8fc3c0129c813b6297018f90c40fe9c97ffbdbd85547
7
+ data.tar.gz: 0c3b5c13d1285207c59dddc09b02f3932bc7cf8e37a80f348147208b78e9f410c586bb4feb1f8ad1ba8334a7c53ac73a1c9e00c63adb28a4ba37c6f578f62222
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Describe the bug**
11
+ A clear and concise description of what the bug is.
12
+
13
+ **To Reproduce**
14
+ Steps to reproduce the behavior:
15
+ 1. Go to '...'
16
+ 2. Click on '....'
17
+ 3. Scroll down to '....'
18
+ 4. See error
19
+
20
+ **Expected behavior**
21
+ A clear and concise description of what you expected to happen.
22
+
23
+ **Screenshots**
24
+ If applicable, add screenshots to help explain your problem.
25
+
26
+ **Desktop (please complete the following information):**
27
+ - OS: [e.g. iOS]
28
+ - Browser [e.g. chrome, safari]
29
+ - Version [e.g. 22]
30
+
31
+ **Smartphone (please complete the following information):**
32
+ - Device: [e.g. iPhone6]
33
+ - OS: [e.g. iOS8.1]
34
+ - Browser [e.g. stock browser, safari]
35
+ - Version [e.g. 22]
36
+
37
+ **Additional context**
38
+ Add any other context about the problem here.
@@ -20,7 +20,7 @@ jobs:
20
20
  - name:
21
21
  uses: ruby/setup-ruby@v1
22
22
  with:
23
- ruby-version: "3.4.7"
23
+ ruby-version: "4.0.1"
24
24
  bundler-cache: false
25
25
 
26
26
  - name:
@@ -35,5 +35,5 @@ jobs:
35
35
  - name: Install Ruby and gems
36
36
  uses: ruby/setup-ruby@v1
37
37
  with:
38
- ruby-version: "3.4.7"
38
+ ruby-version: "4.0.1"
39
39
  bundler-cache: true
data/.rubocop.yml CHANGED
@@ -1,5 +1,3 @@
1
- inherit_from: .rubocop_todo.yml
2
-
3
1
  AllCops:
4
2
  TargetRubyVersion: 3.4
5
3
  NewCops: enable
@@ -7,3 +5,27 @@ AllCops:
7
5
  - 'db/schema.rb'
8
6
  - 'vendor/**/*'
9
7
  - 'Attic/setup.rb'
8
+ - 'origtest/**/*'
9
+
10
+ Style/StringLiterals:
11
+ Enabled: false
12
+
13
+ # NOT DANGEROUS
14
+ Lint/UselessAssignment: { Enabled: false }
15
+ Lint/UnusedMethodArgument: { Enabled: false }
16
+ Lint/UnderscorePrefixedVariableName: { Enabled: false }
17
+ Lint/UselessMethodDefinition: { Enabled: false }
18
+
19
+ # DISABLED/DEFFERED
20
+ Lint/DuplicateMethods: { Enabled: false }
21
+ Lint/ShadowedArgument: { Enabled: false }
22
+ Lint/UnusedBlockArgument: { Enabled: false }
23
+ Lint/MissingSuper: { Enabled: false }
24
+
25
+ # FIXED
26
+ #Lint/AmbiguousRegexpLiteral: { Enabled: false }
27
+ #Lint/AssignmentInCondition: { Enabled: false }
28
+ #Lint/ElseLayout: { Enabled: false }
29
+ #Lint/DuplicateRequire: { Enabled: false }
30
+ #Lint/RedundantStringCoercion: { Enabled: false }
31
+ #Lint/Void: { Enabled: false }
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-3.4.7
1
+ ruby-4.0.1
@@ -5,6 +5,6 @@ RSpec.describe 'my_cli', type: :aruba do
5
5
  it 'runs with --help' do
6
6
  run_command('my_cli --help')
7
7
  expect(last_command_started).to be_successfully_executed
8
- expect(last_command_started).to have_output /Usage:/
8
+ expect(last_command_started).to have_output(/Usage:/)
9
9
  end
10
10
  end
data/CHANGELOG.md CHANGED
@@ -2,33 +2,44 @@
2
2
  <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
3
3
  **Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
4
4
 
5
- - [Release 1.4.0-beta (2026-02-10)](#release-140-preview1-2026-02-10)
6
- - [Release 0.7.3 (2026-02-10)](#release-073-2026-02-10)
7
- - [Release 0.7.2 (2010-07-18)](#release-072-2010-07-18)
8
- - [Release 0.7.1 (2008-01-28)](#release-071-2008-01-28)
9
- - [Release 0.7.0 (2008-01-27)](#release-070-2008-01-27)
10
- - [Release 0.6.0 (2006-05-30)](#release-060-2006-05-30)
11
- - [Release 0.5.1 (2005-12-20)](#release-051-2005-12-20)
12
- - [Release 0.5.0 (2005-12-17)](#release-050-2005-12-17)
13
- - [Release 0.4.1 (2005-10-26)](#release-041-2005-10-26)
14
- - [Release 0.4.0 (2005-10-25)](#release-040-2005-10-25)
15
- - [Release 0.3.0 (2005-09-30)](#release-030-2005-09-30)
16
- - [Release 0.2.0 (2005-09-25)](#release-020-2005-09-25)
17
- - [Release 0.1.0 (2005-08-01)](#release-010-2005-08-01)
18
- - [FILE TYPES](#file-types)
19
- - [DOCS](#docs)
20
- - [CODE, YAML/JSON](#code-yamljson)
21
- - [TESTS](#tests)
22
- - [INTERNAL](#internal)
5
+ - [GENERAL](#general)
6
+ - [What's New/Changes/Fixes](#whats-newchangesfixes)
7
+ - [Changelog](#changelog)
8
+ - [Feedback and Support](#feedback-and-support)
9
+ - [ROLL OUT STRATEGY](#roll-out-strategy)
10
+ - [Release 1.4.0 (2026-02-24)](#release-140-2026-02-24)
11
+ - [Release 1.4.0 (2026-02-18)](#release-140-2026-02-18)
12
+ - [What's New/Changes/Fixes](#whats-newchangesfixes-1)
13
+ - [Changelog](#changelog-1)
14
+ - [Feedback and Support](#feedback-and-support-1)
15
+ - [ROLL OUT STRATEGY](#roll-out-strategy-1)
16
+ - [Release 1.4.0-private1 (2026-02-10)](#release-140-private1-2026-02-10)
17
+ - [Release 0.7.3 (2026-02-10)](#release-073-2026-02-10)
18
+ - [Release 0.7.2 (2010-07-18)](#release-072-2010-07-18)
19
+ - [Release 0.7.1 (2008-01-28)](#release-071-2008-01-28)
20
+ - [Release 0.7.0 (2008-01-27)](#release-070-2008-01-27)
21
+ - [Release 0.6.0 (2006-05-30)](#release-060-2006-05-30)
22
+ - [Release 0.5.1 (2005-12-20)](#release-051-2005-12-20)
23
+ - [Release 0.5.0 (2005-12-17)](#release-050-2005-12-17)
24
+ - [Release 0.4.1 (2005-10-26)](#release-041-2005-10-26)
25
+ - [Release 0.4.0 (2005-10-25)](#release-040-2005-10-25)
26
+ - [Release 0.3.0 (2005-09-30)](#release-030-2005-09-30)
27
+ - [Release 0.2.0 (2005-09-25)](#release-020-2005-09-25)
28
+ - [Release 0.1.0 (2005-08-01)](#release-010-2005-08-01)
29
+ - [FILE TYPES](#file-types)
30
+ - [DOCS](#docs)
31
+ - [CODE, YAML/JSON](#code-yamljson)
32
+ - [TESTS](#tests)
33
+ - [INTERNAL](#internal)
23
34
 
24
35
  <!-- END doctoc generated TOC please keep comment here to allow auto update -->
25
36
 
26
37
  .=title: ChangeLog
27
- .?release: $Release 1.4.0-beta $
38
+ .?release: $Release 1.4.0 $
28
39
  .?lastupdate: $Date$
29
40
  .?version: $Rev$
30
41
 
31
- ## Release 1.4.0-beta (2026-02-18)
42
+ # GENERAL
32
43
 
33
44
  ## What's New/Changes/Fixes
34
45
 
@@ -41,7 +52,34 @@
41
52
  * For the complete list of changes, please refer to the
42
53
  GitHub release notes: [CHANGELOG](CHANGELOG.md)
43
54
 
44
- ## Feeback and Support
55
+ ## Feedback and Support
56
+
57
+ * "If you encounter any issues or have suggestions, please
58
+ open a ticket on our GitHub repository: [issues](issues)
59
+
60
+ ## ROLL OUT STRATEGY
61
+
62
+ * See more details [Roll Out Strategy](ROLL-OUT-STRATEGY.md)
63
+ regarding approach taken.
64
+
65
+ ## Release 1.4.0 (2026-02-24)
66
+
67
+ * Worked on fixing tests and other issues found since beta release.
68
+
69
+ ## Release 1.4.0 (2026-02-18)
70
+
71
+ ## What's New/Changes/Fixes
72
+
73
+ * See [commit history](commits/main) for more details.
74
+
75
+ * Known issues are documented as [issues](issues).
76
+
77
+ ## Changelog
78
+
79
+ * For the complete list of changes, please refer to the
80
+ GitHub release notes: [CHANGELOG](CHANGELOG.md)
81
+
82
+ ## Feedback and Support
45
83
 
46
84
  * "If you encounter any issues or have suggestions, please
47
85
  open a ticket on our GitHub repository: [issues](issues)
@@ -328,7 +366,7 @@
328
366
  * .rubocop_todo.yml, .rubocop.yml, .overcommit.yml
329
367
  * bin, tmp
330
368
  * Manifest.txt, rkwalify-*.gem
331
- * examples, contrib
369
+ * examples
332
370
 
333
371
  ### TESTS
334
372
 
@@ -0,0 +1,147 @@
1
+ <!-- START doctoc generated TOC please keep comment here to allow auto update -->
2
+ <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
3
+ **Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
4
+
5
+ - [Contributor Covenant Code of Conduct](#contributor-covenant-code-of-conduct)
6
+ - [Our Pledge](#our-pledge)
7
+ - [Our Standards](#our-standards)
8
+ - [Enforcement Responsibilities](#enforcement-responsibilities)
9
+ - [Scope](#scope)
10
+ - [Enforcement](#enforcement)
11
+ - [Enforcement Guidelines](#enforcement-guidelines)
12
+ - [1. Correction](#1-correction)
13
+ - [2. Warning](#2-warning)
14
+ - [3. Temporary Ban](#3-temporary-ban)
15
+ - [4. Permanent Ban](#4-permanent-ban)
16
+ - [Attribution](#attribution)
17
+
18
+ <!-- END doctoc generated TOC please keep comment here to allow auto update -->
19
+
20
+ # Contributor Covenant Code of Conduct
21
+
22
+ ## Our Pledge
23
+
24
+ We as members, contributors, and leaders pledge to make participation in our
25
+ community a harassment-free experience for everyone, regardless of age, body
26
+ size, visible or invisible disability, ethnicity, sex characteristics, gender
27
+ identity and expression, level of experience, education, socio-economic status,
28
+ nationality, personal appearance, race, religion, or sexual identity
29
+ and orientation.
30
+
31
+ We pledge to act and interact in ways that contribute to an open, welcoming,
32
+ diverse, inclusive, and healthy community.
33
+
34
+ ## Our Standards
35
+
36
+ Examples of behavior that contributes to a positive environment for our
37
+ community include:
38
+
39
+ * Demonstrating empathy and kindness toward other people
40
+ * Being respectful of differing opinions, viewpoints, and experiences
41
+ * Giving and gracefully accepting constructive feedback
42
+ * Accepting responsibility and apologizing to those affected by our mistakes,
43
+ and learning from the experience
44
+ * Focusing on what is best not just for us as individuals, but for the
45
+ overall community
46
+
47
+ Examples of unacceptable behavior include:
48
+
49
+ * The use of sexualized language or imagery, and sexual attention or
50
+ advances of any kind
51
+ * Trolling, insulting or derogatory comments, and personal or political attacks
52
+ * Public or private harassment
53
+ * Publishing others' private information, such as a physical or email
54
+ address, without their explicit permission
55
+ * Other conduct which could reasonably be considered inappropriate in a
56
+ professional setting
57
+
58
+ ## Enforcement Responsibilities
59
+
60
+ Community leaders are responsible for clarifying and enforcing our standards of
61
+ acceptable behavior and will take appropriate and fair corrective action in
62
+ response to any behavior that they deem inappropriate, threatening, offensive,
63
+ or harmful.
64
+
65
+ Community leaders have the right and responsibility to remove, edit, or reject
66
+ comments, commits, code, wiki edits, issues, and other contributions that are
67
+ not aligned to this Code of Conduct, and will communicate reasons for moderation
68
+ decisions when appropriate.
69
+
70
+ ## Scope
71
+
72
+ This Code of Conduct applies within all community spaces, and also applies when
73
+ an individual is officially representing the community in public spaces.
74
+ Examples of representing our community include using an official e-mail address,
75
+ posting via an official social media account, or acting as an appointed
76
+ representative at an online or offline event.
77
+
78
+ ## Enforcement
79
+
80
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
81
+ reported to the community leaders responsible for enforcement at
82
+ .
83
+ All complaints will be reviewed and investigated promptly and fairly.
84
+
85
+ All community leaders are obligated to respect the privacy and security of the
86
+ reporter of any incident.
87
+
88
+ ## Enforcement Guidelines
89
+
90
+ Community leaders will follow these Community Impact Guidelines in determining
91
+ the consequences for any action they deem in violation of this Code of Conduct:
92
+
93
+ ### 1. Correction
94
+
95
+ **Community Impact**: Use of inappropriate language or other behavior deemed
96
+ unprofessional or unwelcome in the community.
97
+
98
+ **Consequence**: A private, written warning from community leaders, providing
99
+ clarity around the nature of the violation and an explanation of why the
100
+ behavior was inappropriate. A public apology may be requested.
101
+
102
+ ### 2. Warning
103
+
104
+ **Community Impact**: A violation through a single incident or series
105
+ of actions.
106
+
107
+ **Consequence**: A warning with consequences for continued behavior. No
108
+ interaction with the people involved, including unsolicited interaction with
109
+ those enforcing the Code of Conduct, for a specified period of time. This
110
+ includes avoiding interactions in community spaces as well as external channels
111
+ like social media. Violating these terms may lead to a temporary or
112
+ permanent ban.
113
+
114
+ ### 3. Temporary Ban
115
+
116
+ **Community Impact**: A serious violation of community standards, including
117
+ sustained inappropriate behavior.
118
+
119
+ **Consequence**: A temporary ban from any sort of interaction or public
120
+ communication with the community for a specified period of time. No public or
121
+ private interaction with the people involved, including unsolicited interaction
122
+ with those enforcing the Code of Conduct, is allowed during this period.
123
+ Violating these terms may lead to a permanent ban.
124
+
125
+ ### 4. Permanent Ban
126
+
127
+ **Community Impact**: Demonstrating a pattern of violation of community
128
+ standards, including sustained inappropriate behavior, harassment of an
129
+ individual, or aggression toward or disparagement of classes of individuals.
130
+
131
+ **Consequence**: A permanent ban from any sort of public interaction within
132
+ the community.
133
+
134
+ ## Attribution
135
+
136
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
137
+ version 2.0, available at
138
+ https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
139
+
140
+ Community Impact Guidelines were inspired by [Mozilla's code of conduct
141
+ enforcement ladder](https://github.com/mozilla/diversity).
142
+
143
+ [homepage]: https://www.contributor-covenant.org
144
+
145
+ For answers to common questions about this code of conduct, see the FAQ at
146
+ https://www.contributor-covenant.org/faq. Translations are available at
147
+ https://www.contributor-covenant.org/translations.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rkwalify (1.4.0.pre.beta)
4
+ rkwalify (1.4.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -32,7 +32,8 @@ GEM
32
32
  language_server-protocol (3.17.0.5)
33
33
  lint_roller (1.1.0)
34
34
  logger (1.7.0)
35
- minitest (6.0.1)
35
+ minitest (6.0.2)
36
+ drb (~> 2.0)
36
37
  prism (~> 1.5)
37
38
  parallel (1.27.0)
38
39
  parser (3.3.10.2)
@@ -116,7 +117,7 @@ CHECKSUMS
116
117
  language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
117
118
  lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
118
119
  logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
119
- minitest (6.0.1) sha256=7854c74f48e2e975969062833adc4013f249a4b212f5e7b9d5c040bf838d54bb
120
+ minitest (6.0.2) sha256=db6e57956f6ecc6134683b4c87467d6dd792323c7f0eea7b93f66bd284adbc3d
120
121
  parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130
121
122
  parser (3.3.10.2) sha256=6f60c84aa4bdcedb6d1a2434b738fe8a8136807b6adc8f7f53b97da9bc4e9357
122
123
  power_assert (3.0.1) sha256=8ce9876716cc74e863fcd4cdcdc52d792bd983598d1af3447083a3a9a4d34103
@@ -125,7 +126,7 @@ CHECKSUMS
125
126
  rack (3.2.5) sha256=4cbd0974c0b79f7a139b4812004a62e4c60b145cba76422e288ee670601ed6d3
126
127
  rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
127
128
  regexp_parser (2.11.3) sha256=ca13f381a173b7a93450e53459075c9b76a10433caadcb2f1180f2c741fc55a4
128
- rkwalify (1.4.0.pre.beta)
129
+ rkwalify (1.4.0)
129
130
  rubocop (1.84.2) sha256=5692cea54168f3dc8cb79a6fe95c5424b7ea893c707ad7a4307b0585e88dbf5f
130
131
  rubocop-ast (1.49.0) sha256=49c3676d3123a0923d333e20c6c2dbaaae2d2287b475273fddee0c61da9f71fd
131
132
  rubocop-performance (1.26.1) sha256=cd19b936ff196df85829d264b522fd4f98b6c89ad271fa52744a8c11b8f71834
data/README.md CHANGED
@@ -1,8 +1,12 @@
1
+ # RKwalify
2
+
3
+ [![Gem Version](https://badge.fury.io/rb/rkwalify.svg?icon=si%3Arubygems)](https://badge.fury.io/rb/rkwalify)
4
+ [![Ruby CI](https://github.com/jasnow/rkwalify/actions/workflows/ruby.yml/badge.svg)](https://github.com/jasnow/rkwalify/actions/workflows/ruby.yml)
5
+
1
6
  <!-- START doctoc generated TOC please keep comment here to allow auto update -->
2
7
  <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
3
8
  **Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
4
9
 
5
- - [RKwalify](#rkwalify)
6
10
  - [Introduction](#introduction)
7
11
  - [Getting Started Using Gem](#getting-started-using-gem)
8
12
  - [CONTRIBUTE](#contribute)
@@ -12,12 +16,7 @@
12
16
 
13
17
  <!-- END doctoc generated TOC please keep comment here to allow auto update -->
14
18
 
15
- # RKwalify
16
-
17
- [![Gem Version](https://badge.fury.io/rb/rkwalify.svg?icon=si%3Arubygems)](https://badge.fury.io/rb/rkwalify)
18
- [![Ruby CI](https://github.com/jasnow/rkwalify/actions/workflows/ruby.yml/badge.svg)](https://github.com/jasnow/rkwalify/actions/workflows/ruby.yml)
19
-
20
- * release:: 1.4.0-beta
19
+ * release:: 1.4.0
21
20
  * lastupdate:: $Date$
22
21
  * copyright:: copyright(c) 2005-2010 kuwata-lab all rights reserved.
23
22
 
@@ -35,15 +34,13 @@ Updated version of "RKwalify is a parser, schema validator, and data binding too
35
34
 
36
35
  * Or install directly with "gem install rkwalify".
37
36
 
38
- (Optional) The 'contrib/inline-require' script to concatenate
37
+ (Optional) The 'devbin/inline-require' script to concatenate
39
38
  all scripts and libraries into a file.
40
39
  ```
41
40
  $ cd rkwalify/
42
41
  $ unset RUBYLIB
43
- $ ruby contrib/inline-require -I ./lib bin/rkwalify > contrib/rkwalify
44
- $ chmod a+x contrib/rkwalify
45
- $ cp lib/kwalify/kwalify.schema.yaml $HOME/bin
46
- $ mv contrib/rkwalify $HOME/bin
42
+ $ ruby ./devbin/inline-require -I ./lib ./bin/kwalify.rb > ./bin/kwalify
43
+ $ cp ./lib/kwalify/kwalify.schema.yaml ./bin
47
44
  ```
48
45
  ## CONTRIBUTE
49
46
 
data/ROLL-OUT-STRATEGY.md CHANGED
@@ -27,7 +27,7 @@
27
27
  * Add credit to repo @dafyddcrosby.
28
28
 
29
29
  4. Step 3: Modernize the tool chain (bundler, rubygems, rvm, Rakefile,
30
- several rubocop gems, markdown, ruby 3.4.7, simplecov).
30
+ several rubocop gems, markdown, ruby 4.0.1, simplecov).
31
31
  See commits for more details. Also used my personal tools as needed.
32
32
 
33
33
  5. Create "rkwalify" [issues](https://github.com/jasnow/rkwalify/issues)
@@ -38,20 +38,21 @@
38
38
  * rkwalify's "test" Github Action is green. Comment out [test/test.rb](https://github.com/jasnow/rkwalify/blob/main/test/test.rb)
39
39
  tests that are broken. See [issue](https://github.com/jasnow/rkwalify/issues/2) for details.
40
40
 
41
- * ruby-advisory-db (Ruby 3.4.7) tests are green using rkwalify code.
41
+ * ruby-advisory-db (Ruby 4.0.1) tests are green using rkwalify code.
42
42
 
43
+ * Minimum ruby version will be 3.4.7.
43
44
  ---
44
45
 
45
46
  8. Must decide if anything else is added to .gitignore file in final release.
46
47
  * Candidates
47
48
  * doc, doc-api (As of 2/18/2026, included)
48
- * tests, examples, contrib
49
+ * tests, examples
49
50
  * Attic
50
51
  * As of 2/18/2026, all of the above are included.
51
52
 
52
53
  9. Another technique is to comment code and tests not used by #7 repos.
53
54
 
54
- 10. Decide when to make repo public.
55
+ 10. Decide when to make repo public. (2/20/2026: done)
55
56
 
56
57
  ## Release Order/Naming
57
58
 
data/SECURITY.md ADDED
@@ -0,0 +1,19 @@
1
+ <!-- START doctoc generated TOC please keep comment here to allow auto update -->
2
+ <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
3
+ **Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
4
+
5
+ - [Security Policy](#security-policy)
6
+ - [Supported Versions](#supported-versions)
7
+ - [Reporting a Vulnerability](#reporting-a-vulnerability)
8
+
9
+ <!-- END doctoc generated TOC please keep comment here to allow auto update -->
10
+
11
+ # Security Policy
12
+
13
+ ## Supported Versions
14
+
15
+ Currently only the last version of the project will be supported with security fixes.
16
+
17
+ ## Reporting a Vulnerability
18
+
19
+ Use rkwality-sec@RailsUpToDate.com to report a vulnerability.