rkwalify 1.4.0.pre.preview1 → 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 (111) 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/.gitignore +2 -0
  5. data/.rubocop.yml +24 -2
  6. data/.ruby-version +1 -1
  7. data/Attic/README-0.7.2.md +8 -0
  8. data/{contrib → Attic}/kwalify-0.7.2 +1 -1
  9. data/Attic/spec/rspec-ex_spec.rb +1 -1
  10. data/CHANGELOG.md +88 -3
  11. data/CODE_OF_CONDUCT.md +147 -0
  12. data/CONTRIBUTING.md +12 -1
  13. data/CONTRIBUTORS.md +8 -0
  14. data/Gemfile.lock +9 -8
  15. data/README.md +22 -8
  16. data/ROLL-OUT-STRATEGY.md +27 -13
  17. data/SECURITY.md +19 -0
  18. data/{contrib → bin}/kwalify +27 -32
  19. data/bin/kwalify.rb +27 -32
  20. data/devbin/README.md +18 -1
  21. data/devbin/chkspelling.sh +19 -10
  22. data/devbin/got-all-rel-numbers.sh +2 -1
  23. data/{contrib → devbin}/inline-require +1 -1
  24. data/devbin/mkbig-rkwalify.sh +1 -3
  25. data/devbin/mkgem_file.sh +1 -1
  26. data/devbin/mktag +3 -0
  27. data/devbin/ruby_rails_wordlist.txt +195 -0
  28. data/devbin/rubycheck.sh +39 -0
  29. data/devbin/run-smoketest.sh +17 -0
  30. data/devbin/smoke-tests.golden +325 -0
  31. data/devbin/{ug-tests.sh → smoke-tests.sh} +44 -41
  32. data/devbin/update-rel-numbers.sh +4 -3
  33. data/doc-api/classes/CommandOptionError.html +1 -1
  34. data/doc-api/classes/Kwalify/Util.html +2 -2
  35. data/doc-api/classes/Kwalify.html +1 -1
  36. data/doc-api/files/__/README_txt.html +1 -1
  37. data/doc-api/files/kwalify/errors_rb.html +1 -1
  38. data/doc-api/files/kwalify/main_rb.html +1 -1
  39. data/doc-api/files/kwalify/messages_rb.html +1 -1
  40. data/doc-api/files/kwalify/meta-validator_rb.html +1 -1
  41. data/doc-api/files/kwalify/parser/base_rb.html +1 -1
  42. data/doc-api/files/kwalify/parser/yaml_rb.html +1 -1
  43. data/doc-api/files/kwalify/rule_rb.html +1 -1
  44. data/doc-api/files/kwalify/types_rb.html +1 -1
  45. data/doc-api/files/kwalify/util/assert-text-equal_rb.html +1 -1
  46. data/doc-api/files/kwalify/util/hash-interface_rb.html +1 -1
  47. data/doc-api/files/kwalify/util/hashlike_rb.html +1 -1
  48. data/doc-api/files/kwalify/util/option-parser_rb.html +1 -1
  49. data/doc-api/files/kwalify/util/ordered-hash_rb.html +1 -1
  50. data/doc-api/files/kwalify/util/testcase-helper_rb.html +1 -1
  51. data/doc-api/files/kwalify/util_rb.html +1 -1
  52. data/doc-api/files/kwalify/validator_rb.html +1 -1
  53. data/doc-api/files/kwalify/yaml-parser_rb.html +1 -1
  54. data/doc-api/files/kwalify_rb.html +1 -1
  55. data/examples/address-book/address-book.schema.yaml +1 -1
  56. data/examples/invoice/invoice.schema.yaml +1 -1
  57. data/examples/tapkit/tapkit.schema.yaml +1 -1
  58. data/lib/kwalify/errors.rb +2 -2
  59. data/lib/kwalify/main.rb +4 -6
  60. data/lib/kwalify/messages.rb +1 -1
  61. data/lib/kwalify/meta-validator.rb +4 -5
  62. data/lib/kwalify/parser/base.rb +2 -3
  63. data/lib/kwalify/parser/yaml.rb +5 -5
  64. data/lib/kwalify/rule.rb +13 -14
  65. data/lib/kwalify/templates/genclass-java.eruby +1 -1
  66. data/lib/kwalify/templates/genclass-php.eruby +1 -1
  67. data/lib/kwalify/templates/genclass-ruby.eruby +1 -1
  68. data/lib/kwalify/types.rb +1 -1
  69. data/lib/kwalify/util/assert-text-equal.rb +2 -2
  70. data/lib/kwalify/util/hash-interface.rb +1 -1
  71. data/lib/kwalify/util/hashlike.rb +5 -4
  72. data/lib/kwalify/util/option-parser.rb +1 -1
  73. data/lib/kwalify/util/ordered-hash.rb +1 -1
  74. data/lib/kwalify/util/testcase-helper.rb +1 -1
  75. data/lib/kwalify/util.rb +8 -7
  76. data/lib/kwalify/validator.rb +38 -13
  77. data/lib/kwalify/version.rb +1 -1
  78. data/lib/kwalify/yaml-parser.rb +17 -14
  79. data/lib/kwalify.rb +26 -1
  80. data/test/Rookbook.yaml +1 -1
  81. data/test/data/users-guide/answers-validator.rb +1 -1
  82. data/test/data/users-guide/example_address_book.rb +1 -1
  83. data/test/data/users-guide/howto3.rb +1 -1
  84. data/test/data/users-guide/loadbabel.rb +2 -2
  85. data/test/data/users-guide/loadconfig.rb +2 -2
  86. data/test/data/users-guide/validate08.rb +1 -1
  87. data/test/test-action.rb +1 -1
  88. data/test/test-action.yaml +1 -1
  89. data/test/test-databinding.rb +3 -5
  90. data/test/test-databinding.yaml +1 -1
  91. data/test/test-hashlike.rb +29 -0
  92. data/test/test-main.rb +1 -1
  93. data/test/test-main.yaml +3 -3
  94. data/test/test-metavalidator.rb +5 -5
  95. data/test/test-metavalidator.yaml +9 -9
  96. data/test/test-parser-yaml.rb +5 -5
  97. data/test/test-parser-yaml.yaml +36 -34
  98. data/test/test-rule.rb +1 -1
  99. data/test/test-rule.yaml +1 -2
  100. data/test/test-users-guide.rb +1 -1
  101. data/test/test-util.rb +1 -1
  102. data/test/test-validator.rb +4 -4
  103. data/test/test-validator.yaml +1 -1
  104. data/test/test-yaml-parser.rb +3 -3
  105. data/test/test-yaml-parser.yaml +47 -48
  106. data/test/test.rb +40 -23
  107. data/test/test_logger.rb +37 -0
  108. metadata +17 -8
  109. data/.rubocop_todo.yml +0 -1369
  110. data/devbin/ug-tests.golden +0 -242
  111. /data/{MIT-LICENSE → MIT-LICENSE.txt} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3130930c542dd127d212c3218048fd20bdd6d4867e9ef44642640d475b7d6ff3
4
- data.tar.gz: 17031339b57bfbd0d4409485545ec578889a2994f218e2a7a9aae7ac9865dd2a
3
+ metadata.gz: 5e4ea86fddefc7bf78b01adda604c37f2a500aa4cdd005be7bfca2582e1b1ece
4
+ data.tar.gz: ce99b82cf8190c9730f2931405d4c7a7c2413341b01eab5a239f794734061f1f
5
5
  SHA512:
6
- metadata.gz: 7eaf10843e3907d0974276ff7f8f0f6000682646079f63cc9117a8d97203df55b14a43bd63c28a0cb598ddfbf89458ed9295296bd641b301ec430aaba7791626
7
- data.tar.gz: 9dc61572a8c605bed9c017ecf19dcc978043142ab0774aa5a5bef51577db8a164c138ad87aded970fe488eb64292bc14586358bbc61fe1be1e0015702591653b
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/.gitignore CHANGED
@@ -42,6 +42,8 @@ build-iPhoneSimulator/
42
42
  /.yardoc/
43
43
  /_yardoc/
44
44
  /rdoc/
45
+ /devbin/ruby_3_4_1_complete_rdocs
46
+ /devbin/ruby_docs_wordlist.txt
45
47
 
46
48
  ## Environment normalization:
47
49
  /.bundle/
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
@@ -1,3 +1,11 @@
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
+ - [rkwalify](#rkwalify)
6
+
7
+ <!-- END doctoc generated TOC please keep comment here to allow auto update -->
8
+
1
9
  # rkwalify
2
10
 
3
11
  release:: 0.7.2
@@ -3934,7 +3934,7 @@ module Kwalify
3934
3934
  str = File.read(schema_filename)
3935
3935
  if str.empty?
3936
3936
  #* key=:schema_empty msg="%s: empty schema.\n"
3937
- msg = Kwalify.msg(:schema_emtpy) % filename
3937
+ msg = Kwalify.msg(:schema_empty) % filename
3938
3938
  raise CommandOptionError.new(msg)
3939
3939
  end
3940
3940
  str = Util.untabify(str) if @options[:untabify]
@@ -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
@@ -1,10 +1,95 @@
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
+ - [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)
34
+
35
+ <!-- END doctoc generated TOC please keep comment here to allow auto update -->
36
+
1
37
  .=title: ChangeLog
2
- .?release: $Release: 1.4.0-preview1 $
38
+ .?release: $Release 1.4.0 $
3
39
  .?lastupdate: $Date$
4
40
  .?version: $Rev$
5
41
 
42
+ # GENERAL
43
+
44
+ ## What's New/Changes/Fixes
45
+
46
+ * See [commit history](commits/main) for more details.
47
+
48
+ * Known issues are documented as [issues](issues).
49
+
50
+ ## Changelog
51
+
52
+ * For the complete list of changes, please refer to the
53
+ GitHub release notes: [CHANGELOG](CHANGELOG.md)
54
+
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
83
+
84
+ * "If you encounter any issues or have suggestions, please
85
+ open a ticket on our GitHub repository: [issues](issues)
86
+
87
+ ## ROLL OUT STRATEGY
88
+
89
+ * See more details [Roll Out Strategy](ROLL-OUT-STRATEGY.md)
90
+ regarding approach taken.
6
91
 
7
- ## Release 1.4.0-preview1 (2026-02-10)
92
+ ## Release 1.4.0-private1 (2026-02-10)
8
93
 
9
94
  * Release information in [CHANGELOG](CHANGELOG.md).
10
95
 
@@ -281,7 +366,7 @@
281
366
  * .rubocop_todo.yml, .rubocop.yml, .overcommit.yml
282
367
  * bin, tmp
283
368
  * Manifest.txt, rkwalify-*.gem
284
- * examples, contrib
369
+ * examples
285
370
 
286
371
  ### TESTS
287
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/CONTRIBUTING.md CHANGED
@@ -1,3 +1,14 @@
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
+ - [WAYS TO CONTRIBUTE](#ways-to-contribute)
6
+ - [Reporting Issues](#reporting-issues)
7
+ - [Sending Pull Requests](#sending-pull-requests)
8
+ - [Other Ways to Contribute](#other-ways-to-contribute)
9
+
10
+ <!-- END doctoc generated TOC please keep comment here to allow auto update -->
11
+
1
12
  ### WAYS TO CONTRIBUTE
2
13
 
3
14
  ## Reporting Issues
@@ -18,6 +29,6 @@
18
29
 
19
30
  * Submit your repo as example of rkwalify use.
20
31
 
21
- * TBD
32
+ * Fell free reaching out and suggested another way to help out.
22
33
 
23
34
  Thanks again for your interest on contributing to the project!
data/CONTRIBUTORS.md CHANGED
@@ -1,3 +1,11 @@
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
+ - [Acknowledgements](#acknowledgements)
6
+
7
+ <!-- END doctoc generated TOC please keep comment here to allow auto update -->
8
+
1
9
  ### Acknowledgements
2
10
 
3
11
  This gem would not be possible without volunteers willing to
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rkwalify (1.4.0.pre.preview1)
4
+ rkwalify (1.4.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -32,16 +32,17 @@ 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
- parser (3.3.10.1)
39
+ parser (3.3.10.2)
39
40
  ast (~> 2.4.1)
40
41
  racc
41
42
  power_assert (3.0.1)
42
43
  prism (1.9.0)
43
44
  racc (1.8.1)
44
- rack (3.2.4)
45
+ rack (3.2.5)
45
46
  rainbow (3.1.1)
46
47
  regexp_parser (2.11.3)
47
48
  rubocop (1.84.2)
@@ -116,16 +117,16 @@ 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
- parser (3.3.10.1) sha256=06f6a725d2cd91e5e7f2b7c32ba143631e1f7c8ae2fb918fc4cebec187e6a688
122
+ parser (3.3.10.2) sha256=6f60c84aa4bdcedb6d1a2434b738fe8a8136807b6adc8f7f53b97da9bc4e9357
122
123
  power_assert (3.0.1) sha256=8ce9876716cc74e863fcd4cdcdc52d792bd983598d1af3447083a3a9a4d34103
123
124
  prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
124
125
  racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
125
- rack (3.2.4) sha256=5d74b6f75082a643f43c1e76b419c40f0e5527fcfee1e669ac1e6b73c0ccb6f6
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.preview1)
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,6 +1,22 @@
1
- # rkwalify
1
+ # RKwalify
2
2
 
3
- * release:: 1.4.0-preview1
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
+
6
+ <!-- START doctoc generated TOC please keep comment here to allow auto update -->
7
+ <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
8
+ **Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
9
+
10
+ - [Introduction](#introduction)
11
+ - [Getting Started Using Gem](#getting-started-using-gem)
12
+ - [CONTRIBUTE](#contribute)
13
+ - [Contributing as developer](#contributing-as-developer)
14
+ - [License](#license)
15
+ - [Copyright](#copyright)
16
+
17
+ <!-- END doctoc generated TOC please keep comment here to allow auto update -->
18
+
19
+ * release:: 1.4.0
4
20
  * lastupdate:: $Date$
5
21
  * copyright:: copyright(c) 2005-2010 kuwata-lab all rights reserved.
6
22
 
@@ -18,15 +34,13 @@ Updated version of "RKwalify is a parser, schema validator, and data binding too
18
34
 
19
35
  * Or install directly with "gem install rkwalify".
20
36
 
21
- (Optional) The 'contrib/inline-require' script to concatenate
37
+ (Optional) The 'devbin/inline-require' script to concatenate
22
38
  all scripts and libraries into a file.
23
39
  ```
24
40
  $ cd rkwalify/
25
41
  $ unset RUBYLIB
26
- $ ruby contrib/inline-require -I ./lib bin/rkwalify > contrib/rkwalify
27
- $ chmod a+x contrib/rkwalify
28
- $ cp lib/kwalify/kwalify.schema.yaml $HOME/bin
29
- $ 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
30
44
  ```
31
45
  ## CONTRIBUTE
32
46
 
@@ -50,4 +64,4 @@ all scripts and libraries into a file.
50
64
  ```
51
65
  copyright(c) 2005-2010 kuwata-lab all rights reserved.
52
66
  copyright(c) 2026 Al Snow all rights reserved.
53
- ```
67
+ ```
data/ROLL-OUT-STRATEGY.md CHANGED
@@ -1,4 +1,13 @@
1
- ## RKWALIFY Roll Out Stategy
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
+ - [RKwalify Roll Out Stategy](#rkwalify-roll-out-stategy)
6
+ - [Release Order/Naming](#release-ordernaming)
7
+
8
+ <!-- END doctoc generated TOC please keep comment here to allow auto update -->
9
+
10
+ ## RKwalify Roll Out Stategy
2
11
 
3
12
  **This document only focuses on the initial 2026 release: 1.4.0.**
4
13
 
@@ -9,7 +18,8 @@
9
18
  "rkwalify" repo. This includes all files (code, docs, etc).
10
19
  See commits for more details.
11
20
 
12
- * Assume this original [kwalify](https://rubygems.org/gems/kwalify) gem will stay around.
21
+ * Assume this original [kwalify](https://rubygems.org/gems/kwalify)
22
+ gem will stay around.
13
23
  * Add credit to repo to @kwatch.
14
24
 
15
25
  3. Step 2: Then merge in [dc-kwalify](https://rubygems.org/gems/dc-kwalify)
@@ -17,30 +27,34 @@
17
27
  * Add credit to repo @dafyddcrosby.
18
28
 
19
29
  4. Step 3: Modernize the tool chain (bundler, rubygems, rvm, Rakefile,
20
- several rubocop gems, markdown, ruby 3.4.7, simplecov).
30
+ several rubocop gems, markdown, ruby 4.0.1, simplecov).
21
31
  See commits for more details. Also used my personal tools as needed.
22
32
 
23
- 5. Create "rkwalify" [issues](https://github.com/jasnow/rkwalify/issues) for major work items.
33
+ 5. Create "rkwalify" [issues](https://github.com/jasnow/rkwalify/issues)
34
+ for major and known work items.
24
35
 
25
36
  6. Initial Release Target
26
37
 
27
38
  * rkwalify's "test" Github Action is green. Comment out [test/test.rb](https://github.com/jasnow/rkwalify/blob/main/test/test.rb)
28
39
  tests that are broken. See [issue](https://github.com/jasnow/rkwalify/issues/2) for details.
29
40
 
30
- * 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.
31
42
 
43
+ * Minimum ruby version will be 3.4.7.
32
44
  ---
33
45
 
34
- 8. Must decide if anything else is added to .gitignore file in final release
35
- * doc, doc-pai
36
- * tests, examples, contrib
37
- * Attic
46
+ 8. Must decide if anything else is added to .gitignore file in final release.
47
+ * Candidates
48
+ * doc, doc-api (As of 2/18/2026, included)
49
+ * tests, examples
50
+ * Attic
51
+ * As of 2/18/2026, all of the above are included.
38
52
 
39
- 9. Another technique is to comment code and tets not used by #7 repos.
53
+ 9. Another technique is to comment code and tests not used by #7 repos.
40
54
 
41
- 10. Decide when to make repo public.
55
+ 10. Decide when to make repo public. (2/20/2026: done)
42
56
 
43
- ## RELEASE ORDER/NAMING
57
+ ## Release Order/Naming
44
58
 
45
59
  * Possible Release Order
46
60
  * Preview1, Preview2,... release
@@ -71,7 +85,7 @@
71
85
  * Released annually (traditionally on specific day).
72
86
  * Patch releases: frequent, as needed.
73
87
  * Security Policy
74
- * FYI: Rails maintains:
88
+ * Example: Rails maintains:
75
89
  * Last 2 major versions with security patches.
76
90
  * Older versions only get fixes from community forks.
77
91
  EOF
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.