rkwalify 1.4.0.pre.beta

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 (250) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ruby.yml +39 -0
  3. data/.gitignore +63 -0
  4. data/.overcommit.yml +33 -0
  5. data/.rubocop.yml +9 -0
  6. data/.rubocop_todo.yml +1369 -0
  7. data/.ruby-version +1 -0
  8. data/Attic/README-0.7.2.md +61 -0
  9. data/Attic/features/cli.feature +9 -0
  10. data/Attic/features/step_definitions/validation_steps.rb +20 -0
  11. data/Attic/features/support/env.rb +4 -0
  12. data/Attic/features/validate_schema.feature +12 -0
  13. data/Attic/s+h +53 -0
  14. data/Attic/setup.rb +1556 -0
  15. data/Attic/spec/my_cli_tool_spec.rb +52 -0
  16. data/Attic/spec/rspec-ex_spec.rb +10 -0
  17. data/Attic/spec/spec_helper.rb +104 -0
  18. data/Attic/test-15.1.rb +28 -0
  19. data/CHANGELOG.md +339 -0
  20. data/CONTRIBUTING.md +34 -0
  21. data/CONTRIBUTORS.md +16 -0
  22. data/Gemfile +16 -0
  23. data/Gemfile.lock +146 -0
  24. data/MIT-LICENSE +21 -0
  25. data/README.md +70 -0
  26. data/ROLL-OUT-STRATEGY.md +90 -0
  27. data/Rakefile +11 -0
  28. data/bin/kwalify +4167 -0
  29. data/bin/kwalify.rb +4167 -0
  30. data/bin/kwalify.schema.yaml +59 -0
  31. data/contrib/inline-require +181 -0
  32. data/contrib/kwalify +4167 -0
  33. data/contrib/kwalify-0.7.2 +4160 -0
  34. data/devbin/README.md +35 -0
  35. data/devbin/chk-rad-repo.sh +20 -0
  36. data/devbin/chkcopyrights.sh +42 -0
  37. data/devbin/chkspelling.sh +25 -0
  38. data/devbin/got-all-rel-numbers.sh +6 -0
  39. data/devbin/mkbig-rkwalify.sh +7 -0
  40. data/devbin/mkgem_file.sh +5 -0
  41. data/devbin/mktag +3 -0
  42. data/devbin/ruby_rails_wordlist.txt +195 -0
  43. data/devbin/runtests.sh +6 -0
  44. data/devbin/smoke-tests.golden +331 -0
  45. data/devbin/smoke-tests.sh +145 -0
  46. data/devbin/update-rel-numbers.sh +8 -0
  47. data/doc/docstyle.css +188 -0
  48. data/doc/img/fig01.png +0 -0
  49. data/doc/users-guide.html +2051 -0
  50. data/doc-api/classes/CommandOptionError.html +184 -0
  51. data/doc-api/classes/CommandOptionParser.html +325 -0
  52. data/doc-api/classes/Kwalify/AssertionError.html +148 -0
  53. data/doc-api/classes/Kwalify/BaseError.html +297 -0
  54. data/doc-api/classes/Kwalify/BaseParser.html +461 -0
  55. data/doc-api/classes/Kwalify/CommandOptionError.html +168 -0
  56. data/doc-api/classes/Kwalify/ErrorHelper.html +223 -0
  57. data/doc-api/classes/Kwalify/HashInterface.html +118 -0
  58. data/doc-api/classes/Kwalify/Json.html +105 -0
  59. data/doc-api/classes/Kwalify/KwalifyError.html +111 -0
  60. data/doc-api/classes/Kwalify/Main.html +339 -0
  61. data/doc-api/classes/Kwalify/MetaValidator.html +448 -0
  62. data/doc-api/classes/Kwalify/Parser.html +155 -0
  63. data/doc-api/classes/Kwalify/PlainYamlParser/Alias.html +165 -0
  64. data/doc-api/classes/Kwalify/PlainYamlParser.html +523 -0
  65. data/doc-api/classes/Kwalify/Rule.html +433 -0
  66. data/doc-api/classes/Kwalify/SchemaError.html +148 -0
  67. data/doc-api/classes/Kwalify/SyntaxError.html +185 -0
  68. data/doc-api/classes/Kwalify/Types.html +302 -0
  69. data/doc-api/classes/Kwalify/Util/HashLike.html +246 -0
  70. data/doc-api/classes/Kwalify/Util/OrderedHash.html +330 -0
  71. data/doc-api/classes/Kwalify/Util.html +390 -0
  72. data/doc-api/classes/Kwalify/ValidationError.html +148 -0
  73. data/doc-api/classes/Kwalify/Validator.html +381 -0
  74. data/doc-api/classes/Kwalify/Yaml/Parser.html +1538 -0
  75. data/doc-api/classes/Kwalify/Yaml.html +194 -0
  76. data/doc-api/classes/Kwalify/YamlParser.html +542 -0
  77. data/doc-api/classes/Kwalify/YamlSyntaxError.html +119 -0
  78. data/doc-api/classes/Kwalify.html +292 -0
  79. data/doc-api/classes/Test/Unit.html +101 -0
  80. data/doc-api/classes/Test.html +107 -0
  81. data/doc-api/created.rid +1 -0
  82. data/doc-api/files/__/README_txt.html +153 -0
  83. data/doc-api/files/kwalify/errors_rb.html +114 -0
  84. data/doc-api/files/kwalify/main_rb.html +118 -0
  85. data/doc-api/files/kwalify/messages_rb.html +107 -0
  86. data/doc-api/files/kwalify/meta-validator_rb.html +117 -0
  87. data/doc-api/files/kwalify/parser/base_rb.html +116 -0
  88. data/doc-api/files/kwalify/parser/yaml_rb.html +117 -0
  89. data/doc-api/files/kwalify/rule_rb.html +116 -0
  90. data/doc-api/files/kwalify/types_rb.html +114 -0
  91. data/doc-api/files/kwalify/util/assert-text-equal_rb.html +115 -0
  92. data/doc-api/files/kwalify/util/hash-interface_rb.html +114 -0
  93. data/doc-api/files/kwalify/util/hashlike_rb.html +107 -0
  94. data/doc-api/files/kwalify/util/option-parser_rb.html +107 -0
  95. data/doc-api/files/kwalify/util/ordered-hash_rb.html +107 -0
  96. data/doc-api/files/kwalify/util/testcase-helper_rb.html +115 -0
  97. data/doc-api/files/kwalify/util_rb.html +107 -0
  98. data/doc-api/files/kwalify/validator_rb.html +117 -0
  99. data/doc-api/files/kwalify/yaml-parser_rb.html +117 -0
  100. data/doc-api/files/kwalify_rb.html +121 -0
  101. data/doc-api/fr_class_index.html +57 -0
  102. data/doc-api/fr_file_index.html +45 -0
  103. data/doc-api/fr_method_index.html +168 -0
  104. data/doc-api/index.html +24 -0
  105. data/doc-api/rdoc-style.css +208 -0
  106. data/examples/address-book/Makefile +10 -0
  107. data/examples/address-book/address-book.schema.yaml +45 -0
  108. data/examples/address-book/address-book.yaml +36 -0
  109. data/examples/data-binding/BABEL.data.yaml +63 -0
  110. data/examples/data-binding/BABEL.schema.yaml +31 -0
  111. data/examples/data-binding/Makefile +8 -0
  112. data/examples/data-binding/Rakefile +13 -0
  113. data/examples/data-binding/main.rb +25 -0
  114. data/examples/invoice/Makefile +9 -0
  115. data/examples/invoice/invoice.schema.yaml +43 -0
  116. data/examples/invoice/invoice.yaml +32 -0
  117. data/examples/tapkit/Makefile +10 -0
  118. data/examples/tapkit/main.rb +7 -0
  119. data/examples/tapkit/tapkit.schema.yaml +146 -0
  120. data/examples/tapkit/tapkit.yaml +85 -0
  121. data/lib/kwalify/errors.rb +127 -0
  122. data/lib/kwalify/kwalify.schema.yaml +58 -0
  123. data/lib/kwalify/main.rb +442 -0
  124. data/lib/kwalify/messages.rb +173 -0
  125. data/lib/kwalify/meta-validator.rb +276 -0
  126. data/lib/kwalify/parser/base.rb +128 -0
  127. data/lib/kwalify/parser/yaml.rb +841 -0
  128. data/lib/kwalify/rule.rb +562 -0
  129. data/lib/kwalify/templates/genclass-java.eruby +222 -0
  130. data/lib/kwalify/templates/genclass-php.eruby +104 -0
  131. data/lib/kwalify/templates/genclass-ruby.eruby +113 -0
  132. data/lib/kwalify/types.rb +156 -0
  133. data/lib/kwalify/util/assert-text-equal.rb +46 -0
  134. data/lib/kwalify/util/hash-interface.rb +18 -0
  135. data/lib/kwalify/util/hashlike.rb +51 -0
  136. data/lib/kwalify/util/option-parser.rb +220 -0
  137. data/lib/kwalify/util/ordered-hash.rb +57 -0
  138. data/lib/kwalify/util/testcase-helper.rb +112 -0
  139. data/lib/kwalify/util.rb +159 -0
  140. data/lib/kwalify/validator.rb +282 -0
  141. data/lib/kwalify/version.rb +5 -0
  142. data/lib/kwalify/yaml-parser.rb +871 -0
  143. data/lib/kwalify.rb +61 -0
  144. data/rkwalify.gemspec +26 -0
  145. data/test/Rookbook.yaml +15 -0
  146. data/test/data/users-guide/AddressBook.java.expected +40 -0
  147. data/test/data/users-guide/BABEL.data.yaml +24 -0
  148. data/test/data/users-guide/BABEL.schema.yaml +30 -0
  149. data/test/data/users-guide/ExampleAddressBook.java +47 -0
  150. data/test/data/users-guide/Group.java.expected +24 -0
  151. data/test/data/users-guide/Person.java.expected +44 -0
  152. data/test/data/users-guide/address_book.rb +52 -0
  153. data/test/data/users-guide/address_book.schema.yaml +28 -0
  154. data/test/data/users-guide/address_book.yaml +27 -0
  155. data/test/data/users-guide/answers-schema.yaml +12 -0
  156. data/test/data/users-guide/answers-validator.rb +53 -0
  157. data/test/data/users-guide/babel_genclass.result +26 -0
  158. data/test/data/users-guide/config.schema.yaml +7 -0
  159. data/test/data/users-guide/config.yaml +4 -0
  160. data/test/data/users-guide/document01a.yaml +3 -0
  161. data/test/data/users-guide/document01b.yaml +3 -0
  162. data/test/data/users-guide/document02a.yaml +4 -0
  163. data/test/data/users-guide/document02b.yaml +4 -0
  164. data/test/data/users-guide/document03a.yaml +6 -0
  165. data/test/data/users-guide/document03b.yaml +6 -0
  166. data/test/data/users-guide/document04a.yaml +9 -0
  167. data/test/data/users-guide/document04b.yaml +9 -0
  168. data/test/data/users-guide/document05a.yaml +11 -0
  169. data/test/data/users-guide/document05b.yaml +12 -0
  170. data/test/data/users-guide/document06a.yaml +15 -0
  171. data/test/data/users-guide/document06b.yaml +16 -0
  172. data/test/data/users-guide/document07a.yaml +9 -0
  173. data/test/data/users-guide/document07b.yaml +7 -0
  174. data/test/data/users-guide/document12a.json +10 -0
  175. data/test/data/users-guide/document12b.json +6 -0
  176. data/test/data/users-guide/document13a.yaml +17 -0
  177. data/test/data/users-guide/document14a.yaml +3 -0
  178. data/test/data/users-guide/document14b.yaml +3 -0
  179. data/test/data/users-guide/document15a.yaml +6 -0
  180. data/test/data/users-guide/document15b.yaml +5 -0
  181. data/test/data/users-guide/example_address_book.rb +11 -0
  182. data/test/data/users-guide/example_address_book_java.result +32 -0
  183. data/test/data/users-guide/example_address_book_ruby.result +31 -0
  184. data/test/data/users-guide/genclass_java.result +4 -0
  185. data/test/data/users-guide/howto-validation-with-parsing.rb +28 -0
  186. data/test/data/users-guide/howto-validation.rb +25 -0
  187. data/test/data/users-guide/howto3.rb +6 -0
  188. data/test/data/users-guide/howto3.result +5 -0
  189. data/test/data/users-guide/howto3.yaml +8 -0
  190. data/test/data/users-guide/howto5_databinding.result +111 -0
  191. data/test/data/users-guide/invalid01.result +3 -0
  192. data/test/data/users-guide/invalid02.result +5 -0
  193. data/test/data/users-guide/invalid03.result +5 -0
  194. data/test/data/users-guide/invalid04.result +4 -0
  195. data/test/data/users-guide/invalid05.result +11 -0
  196. data/test/data/users-guide/invalid06.result +4 -0
  197. data/test/data/users-guide/invalid07.result +3 -0
  198. data/test/data/users-guide/invalid08.result +3 -0
  199. data/test/data/users-guide/invalid12.json +8 -0
  200. data/test/data/users-guide/invalid14.result +4 -0
  201. data/test/data/users-guide/invalid15.result +4 -0
  202. data/test/data/users-guide/loadbabel.rb +27 -0
  203. data/test/data/users-guide/loadconfig.rb +17 -0
  204. data/test/data/users-guide/loadconfig.result +6 -0
  205. data/test/data/users-guide/models.rb +24 -0
  206. data/test/data/users-guide/option_ha.result +6 -0
  207. data/test/data/users-guide/option_ha_genclass_java.result +7 -0
  208. data/test/data/users-guide/schema01.yaml +3 -0
  209. data/test/data/users-guide/schema02.yaml +12 -0
  210. data/test/data/users-guide/schema03.yaml +9 -0
  211. data/test/data/users-guide/schema04.yaml +20 -0
  212. data/test/data/users-guide/schema05.yaml +29 -0
  213. data/test/data/users-guide/schema06.yaml +11 -0
  214. data/test/data/users-guide/schema12.json +12 -0
  215. data/test/data/users-guide/schema13.yaml +13 -0
  216. data/test/data/users-guide/schema14.yaml +5 -0
  217. data/test/data/users-guide/schema15.yaml +21 -0
  218. data/test/data/users-guide/valid01.result +2 -0
  219. data/test/data/users-guide/valid02.result +2 -0
  220. data/test/data/users-guide/valid03.result +2 -0
  221. data/test/data/users-guide/valid04.result +2 -0
  222. data/test/data/users-guide/valid05.result +2 -0
  223. data/test/data/users-guide/valid06.result +2 -0
  224. data/test/data/users-guide/valid07.result +2 -0
  225. data/test/data/users-guide/valid08.result +2 -0
  226. data/test/data/users-guide/valid12.result +2 -0
  227. data/test/data/users-guide/valid13.result +2 -0
  228. data/test/data/users-guide/valid14.result +2 -0
  229. data/test/data/users-guide/valid15.result +2 -0
  230. data/test/data/users-guide/validate08.rb +37 -0
  231. data/test/test-action.rb +73 -0
  232. data/test/test-action.yaml +738 -0
  233. data/test/test-databinding.rb +84 -0
  234. data/test/test-databinding.yaml +339 -0
  235. data/test/test-main.rb +156 -0
  236. data/test/test-main.yaml +409 -0
  237. data/test/test-metavalidator.rb +80 -0
  238. data/test/test-metavalidator.yaml +1179 -0
  239. data/test/test-parser-yaml.rb +57 -0
  240. data/test/test-parser-yaml.yaml +1753 -0
  241. data/test/test-rule.rb +26 -0
  242. data/test/test-rule.yaml +317 -0
  243. data/test/test-users-guide.rb +82 -0
  244. data/test/test-util.rb +125 -0
  245. data/test/test-validator.rb +95 -0
  246. data/test/test-validator.yaml +986 -0
  247. data/test/test-yaml-parser.rb +47 -0
  248. data/test/test-yaml-parser.yaml +1226 -0
  249. data/test/test.rb +77 -0
  250. metadata +297 -0
data/Gemfile.lock ADDED
@@ -0,0 +1,146 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ rkwalify (1.4.0.pre.beta)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ activesupport (8.1.2)
10
+ base64
11
+ bigdecimal
12
+ concurrent-ruby (~> 1.0, >= 1.3.1)
13
+ connection_pool (>= 2.2.5)
14
+ drb
15
+ i18n (>= 1.6, < 2)
16
+ json
17
+ logger (>= 1.4.2)
18
+ minitest (>= 5.1)
19
+ securerandom (>= 0.3)
20
+ tzinfo (~> 2.0, >= 2.0.5)
21
+ uri (>= 0.13.1)
22
+ ast (2.4.3)
23
+ base64 (0.3.0)
24
+ bigdecimal (4.0.1)
25
+ concurrent-ruby (1.3.6)
26
+ connection_pool (3.0.2)
27
+ docile (1.4.1)
28
+ drb (2.2.3)
29
+ i18n (1.14.8)
30
+ concurrent-ruby (~> 1.0)
31
+ json (2.18.1)
32
+ language_server-protocol (3.17.0.5)
33
+ lint_roller (1.1.0)
34
+ logger (1.7.0)
35
+ minitest (6.0.1)
36
+ prism (~> 1.5)
37
+ parallel (1.27.0)
38
+ parser (3.3.10.2)
39
+ ast (~> 2.4.1)
40
+ racc
41
+ power_assert (3.0.1)
42
+ prism (1.9.0)
43
+ racc (1.8.1)
44
+ rack (3.2.5)
45
+ rainbow (3.1.1)
46
+ regexp_parser (2.11.3)
47
+ rubocop (1.84.2)
48
+ json (~> 2.3)
49
+ language_server-protocol (~> 3.17.0.2)
50
+ lint_roller (~> 1.1.0)
51
+ parallel (~> 1.10)
52
+ parser (>= 3.3.0.2)
53
+ rainbow (>= 2.2.2, < 4.0)
54
+ regexp_parser (>= 2.9.3, < 3.0)
55
+ rubocop-ast (>= 1.49.0, < 2.0)
56
+ ruby-progressbar (~> 1.7)
57
+ unicode-display_width (>= 2.4.0, < 4.0)
58
+ rubocop-ast (1.49.0)
59
+ parser (>= 3.3.7.2)
60
+ prism (~> 1.7)
61
+ rubocop-performance (1.26.1)
62
+ lint_roller (~> 1.1)
63
+ rubocop (>= 1.75.0, < 2.0)
64
+ rubocop-ast (>= 1.47.1, < 2.0)
65
+ rubocop-rails (2.34.3)
66
+ activesupport (>= 4.2.0)
67
+ lint_roller (~> 1.1)
68
+ rack (>= 1.1)
69
+ rubocop (>= 1.75.0, < 2.0)
70
+ rubocop-ast (>= 1.44.0, < 2.0)
71
+ rubocop-rake (0.7.1)
72
+ lint_roller (~> 1.1)
73
+ rubocop (>= 1.72.1)
74
+ ruby-progressbar (1.13.0)
75
+ securerandom (0.4.1)
76
+ simplecov (0.22.0)
77
+ docile (~> 1.1)
78
+ simplecov-html (~> 0.11)
79
+ simplecov_json_formatter (~> 0.1)
80
+ simplecov-html (0.13.2)
81
+ simplecov_json_formatter (0.1.4)
82
+ test-unit (3.7.7)
83
+ power_assert
84
+ tzinfo (2.0.6)
85
+ concurrent-ruby (~> 1.0)
86
+ unicode-display_width (3.2.0)
87
+ unicode-emoji (~> 4.1)
88
+ unicode-emoji (4.2.0)
89
+ uri (1.1.1)
90
+
91
+ PLATFORMS
92
+ ruby
93
+ universal-darwin
94
+ x86_64-linux
95
+
96
+ DEPENDENCIES
97
+ rkwalify!
98
+ rubocop
99
+ rubocop-performance
100
+ rubocop-rails
101
+ rubocop-rake
102
+ simplecov
103
+ test-unit
104
+
105
+ CHECKSUMS
106
+ activesupport (8.1.2) sha256=88842578ccd0d40f658289b0e8c842acfe9af751afee2e0744a7873f50b6fdae
107
+ ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
108
+ base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
109
+ bigdecimal (4.0.1) sha256=8b07d3d065a9f921c80ceaea7c9d4ae596697295b584c296fe599dd0ad01c4a7
110
+ concurrent-ruby (1.3.6) sha256=6b56837e1e7e5292f9864f34b69c5a2cbc75c0cf5338f1ce9903d10fa762d5ab
111
+ connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
112
+ docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e
113
+ drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
114
+ i18n (1.14.8) sha256=285778639134865c5e0f6269e0b818256017e8cde89993fdfcbfb64d088824a5
115
+ json (2.18.1) sha256=fe112755501b8d0466b5ada6cf50c8c3f41e897fa128ac5d263ec09eedc9f986
116
+ language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
117
+ lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
118
+ logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
119
+ minitest (6.0.1) sha256=7854c74f48e2e975969062833adc4013f249a4b212f5e7b9d5c040bf838d54bb
120
+ parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130
121
+ parser (3.3.10.2) sha256=6f60c84aa4bdcedb6d1a2434b738fe8a8136807b6adc8f7f53b97da9bc4e9357
122
+ power_assert (3.0.1) sha256=8ce9876716cc74e863fcd4cdcdc52d792bd983598d1af3447083a3a9a4d34103
123
+ prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
124
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
125
+ rack (3.2.5) sha256=4cbd0974c0b79f7a139b4812004a62e4c60b145cba76422e288ee670601ed6d3
126
+ rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
127
+ regexp_parser (2.11.3) sha256=ca13f381a173b7a93450e53459075c9b76a10433caadcb2f1180f2c741fc55a4
128
+ rkwalify (1.4.0.pre.beta)
129
+ rubocop (1.84.2) sha256=5692cea54168f3dc8cb79a6fe95c5424b7ea893c707ad7a4307b0585e88dbf5f
130
+ rubocop-ast (1.49.0) sha256=49c3676d3123a0923d333e20c6c2dbaaae2d2287b475273fddee0c61da9f71fd
131
+ rubocop-performance (1.26.1) sha256=cd19b936ff196df85829d264b522fd4f98b6c89ad271fa52744a8c11b8f71834
132
+ rubocop-rails (2.34.3) sha256=10d37989024865ecda8199f311f3faca990143fbac967de943f88aca11eb9ad2
133
+ rubocop-rake (0.7.1) sha256=3797f2b6810c3e9df7376c26d5f44f3475eda59eb1adc38e6f62ecf027cbae4d
134
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
135
+ securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
136
+ simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
137
+ simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246
138
+ simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428
139
+ test-unit (3.7.7) sha256=3c89d5ff0690a16bef9946156c4624390402b9d54dfcf4ce9cbd5b06bead1e45
140
+ tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
141
+ unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
142
+ unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
143
+ uri (1.1.1) sha256=379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6
144
+
145
+ BUNDLED WITH
146
+ 4.0.6
data/MIT-LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ copyright(c) 2005-2010 kuwata-lab all rights reserved.
2
+ copyright(c) 2026 Al Snow all rights reserved.
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining
5
+ a copy of this software and associated documentation files (the
6
+ "Software"), to deal in the Software without restriction, including
7
+ without limitation the rights to use, copy, modify, merge, publish,
8
+ distribute, sublicense, and/or sell copies of the Software, and to
9
+ permit persons to whom the Software is furnished to do so, subject to
10
+ the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be
13
+ included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,70 @@
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
+ - [Introduction](#introduction)
7
+ - [Getting Started Using Gem](#getting-started-using-gem)
8
+ - [CONTRIBUTE](#contribute)
9
+ - [Contributing as developer](#contributing-as-developer)
10
+ - [License](#license)
11
+ - [Copyright](#copyright)
12
+
13
+ <!-- END doctoc generated TOC please keep comment here to allow auto update -->
14
+
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
21
+ * lastupdate:: $Date$
22
+ * copyright:: copyright(c) 2005-2010 kuwata-lab all rights reserved.
23
+
24
+ ## Introduction
25
+
26
+ Updated version of "RKwalify is a parser, schema validator, and data binding tool for YAML and JSON"
27
+
28
+ ## Getting Started Using Gem
29
+
30
+ * See [documentation](doc/users-guide.html) for details.
31
+
32
+ * To install, add this line to your application's Gemfile:
33
+
34
+ * gem "rkwalify"
35
+
36
+ * Or install directly with "gem install rkwalify".
37
+
38
+ (Optional) The 'contrib/inline-require' script to concatenate
39
+ all scripts and libraries into a file.
40
+ ```
41
+ $ cd rkwalify/
42
+ $ 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
47
+ ```
48
+ ## CONTRIBUTE
49
+
50
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
51
+
52
+ ## Contributing as developer
53
+
54
+ * To create Gemfile.lock file, run "bundle install".
55
+
56
+ * To run the tests, type "rake".
57
+
58
+ * To run the tests with (simplecov) coverage,
59
+ * type "COVERAGE='yes' rake",
60
+ * and then open **coverage/index.html** in a browser.
61
+
62
+ # License
63
+
64
+ [MIT License](MIT-LICENSE)
65
+
66
+ # Copyright
67
+ ```
68
+ copyright(c) 2005-2010 kuwata-lab all rights reserved.
69
+ copyright(c) 2026 Al Snow all rights reserved.
70
+ ```
@@ -0,0 +1,90 @@
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
11
+
12
+ **This document only focuses on the initial 2026 release: 1.4.0.**
13
+
14
+ 1. Naming: Use "rkwalify" as repo and gem name, but use
15
+ "kwalify" inside code and tests. Use "Rkwalify" in documentaiton.
16
+
17
+ 2. Step 1: First add [kwalify](https://rubygems.org/gems/kwalify) (0.7.2) into
18
+ "rkwalify" repo. This includes all files (code, docs, etc).
19
+ See commits for more details.
20
+
21
+ * Assume this original [kwalify](https://rubygems.org/gems/kwalify)
22
+ gem will stay around.
23
+ * Add credit to repo to @kwatch.
24
+
25
+ 3. Step 2: Then merge in [dc-kwalify](https://rubygems.org/gems/dc-kwalify)
26
+ (1.0.0) to "rkwalify" repo. See commits for more details.
27
+ * Add credit to repo @dafyddcrosby.
28
+
29
+ 4. Step 3: Modernize the tool chain (bundler, rubygems, rvm, Rakefile,
30
+ several rubocop gems, markdown, ruby 3.4.7, simplecov).
31
+ See commits for more details. Also used my personal tools as needed.
32
+
33
+ 5. Create "rkwalify" [issues](https://github.com/jasnow/rkwalify/issues)
34
+ for major and known work items.
35
+
36
+ 6. Initial Release Target
37
+
38
+ * rkwalify's "test" Github Action is green. Comment out [test/test.rb](https://github.com/jasnow/rkwalify/blob/main/test/test.rb)
39
+ tests that are broken. See [issue](https://github.com/jasnow/rkwalify/issues/2) for details.
40
+
41
+ * ruby-advisory-db (Ruby 3.4.7) tests are green using rkwalify code.
42
+
43
+ ---
44
+
45
+ 8. Must decide if anything else is added to .gitignore file in final release.
46
+ * Candidates
47
+ * doc, doc-api (As of 2/18/2026, included)
48
+ * tests, examples, contrib
49
+ * Attic
50
+ * As of 2/18/2026, all of the above are included.
51
+
52
+ 9. Another technique is to comment code and tests not used by #7 repos.
53
+
54
+ 10. Decide when to make repo public.
55
+
56
+ ## Release Order/Naming
57
+
58
+ * Possible Release Order
59
+ * Preview1, Preview2,... release
60
+ * Beta, RC (Release Candidate) release
61
+ * Final release
62
+
63
+ *. Release Defintions (draft)
64
+ * MAJOR
65
+ * Introduces significant changes.
66
+ * May include breaking changes.
67
+ * Big architectural shifts
68
+
69
+ * MINOR
70
+ * Safe to upgrade within the same major version.
71
+ * Adds new features.
72
+ * No breaking changes.
73
+ * Maintains backward compatibility as much as possible.
74
+
75
+ * TEENY/PATCH
76
+ * Bug fixes and security updates.
77
+ * No new features.
78
+
79
+ * RELEASE CADENCE
80
+ * Major releases: roughly every 2 3 years.
81
+ * Released roughly every 2 3 years (often announced
82
+ at major ecosystem conference)
83
+ * Minor releases: every few months.
84
+ * Released annually (traditionally on specific day).
85
+ * Patch releases: frequent, as needed.
86
+ * Security Policy
87
+ * Example: Rails maintains:
88
+ * Last 2 major versions with security patches.
89
+ * Older versions only get fixes from community forks.
90
+ EOF
data/Rakefile ADDED
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ task :test do
4
+ ruby "test/test.rb"
5
+ end
6
+
7
+ #require "rubocop/rake_task"
8
+ #RuboCop::RakeTask.new
9
+ #task default: %i[rubocop test]
10
+
11
+ task default: %i[test]