rkwalify 1.4.0.pre.preview1
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 +7 -0
- data/.github/workflows/ruby.yml +39 -0
- data/.gitignore +61 -0
- data/.overcommit.yml +33 -0
- data/.rubocop.yml +9 -0
- data/.rubocop_todo.yml +1369 -0
- data/.ruby-version +1 -0
- data/Attic/README-0.7.2.md +53 -0
- data/Attic/features/cli.feature +9 -0
- data/Attic/features/step_definitions/validation_steps.rb +20 -0
- data/Attic/features/support/env.rb +4 -0
- data/Attic/features/validate_schema.feature +12 -0
- data/Attic/s+h +53 -0
- data/Attic/setup.rb +1556 -0
- data/Attic/spec/my_cli_tool_spec.rb +52 -0
- data/Attic/spec/rspec-ex_spec.rb +10 -0
- data/Attic/spec/spec_helper.rb +104 -0
- data/Attic/test-15.1.rb +28 -0
- data/CHANGELOG.md +292 -0
- data/CONTRIBUTING.md +23 -0
- data/CONTRIBUTORS.md +8 -0
- data/Gemfile +16 -0
- data/Gemfile.lock +146 -0
- data/MIT-LICENSE +21 -0
- data/README.md +53 -0
- data/ROLL-OUT-STRATEGY.md +77 -0
- data/Rakefile +11 -0
- data/bin/kwalify.rb +4167 -0
- data/bin/kwalify.schema.yaml +59 -0
- data/contrib/inline-require +181 -0
- data/contrib/kwalify +4167 -0
- data/contrib/kwalify-0.7.2 +4160 -0
- data/devbin/README.md +22 -0
- data/devbin/chk-rad-repo.sh +20 -0
- data/devbin/chkcopyrights.sh +42 -0
- data/devbin/chkspelling.sh +16 -0
- data/devbin/got-all-rel-numbers.sh +5 -0
- data/devbin/mkbig-rkwalify.sh +7 -0
- data/devbin/mkgem_file.sh +5 -0
- data/devbin/runtests.sh +6 -0
- data/devbin/ug-tests.golden +242 -0
- data/devbin/ug-tests.sh +145 -0
- data/devbin/update-rel-numbers.sh +7 -0
- data/doc/docstyle.css +188 -0
- data/doc/img/fig01.png +0 -0
- data/doc/users-guide.html +2051 -0
- data/doc-api/classes/CommandOptionError.html +184 -0
- data/doc-api/classes/CommandOptionParser.html +325 -0
- data/doc-api/classes/Kwalify/AssertionError.html +148 -0
- data/doc-api/classes/Kwalify/BaseError.html +297 -0
- data/doc-api/classes/Kwalify/BaseParser.html +461 -0
- data/doc-api/classes/Kwalify/CommandOptionError.html +168 -0
- data/doc-api/classes/Kwalify/ErrorHelper.html +223 -0
- data/doc-api/classes/Kwalify/HashInterface.html +118 -0
- data/doc-api/classes/Kwalify/Json.html +105 -0
- data/doc-api/classes/Kwalify/KwalifyError.html +111 -0
- data/doc-api/classes/Kwalify/Main.html +339 -0
- data/doc-api/classes/Kwalify/MetaValidator.html +448 -0
- data/doc-api/classes/Kwalify/Parser.html +155 -0
- data/doc-api/classes/Kwalify/PlainYamlParser/Alias.html +165 -0
- data/doc-api/classes/Kwalify/PlainYamlParser.html +523 -0
- data/doc-api/classes/Kwalify/Rule.html +433 -0
- data/doc-api/classes/Kwalify/SchemaError.html +148 -0
- data/doc-api/classes/Kwalify/SyntaxError.html +185 -0
- data/doc-api/classes/Kwalify/Types.html +302 -0
- data/doc-api/classes/Kwalify/Util/HashLike.html +246 -0
- data/doc-api/classes/Kwalify/Util/OrderedHash.html +330 -0
- data/doc-api/classes/Kwalify/Util.html +390 -0
- data/doc-api/classes/Kwalify/ValidationError.html +148 -0
- data/doc-api/classes/Kwalify/Validator.html +381 -0
- data/doc-api/classes/Kwalify/Yaml/Parser.html +1538 -0
- data/doc-api/classes/Kwalify/Yaml.html +194 -0
- data/doc-api/classes/Kwalify/YamlParser.html +542 -0
- data/doc-api/classes/Kwalify/YamlSyntaxError.html +119 -0
- data/doc-api/classes/Kwalify.html +292 -0
- data/doc-api/classes/Test/Unit.html +101 -0
- data/doc-api/classes/Test.html +107 -0
- data/doc-api/created.rid +1 -0
- data/doc-api/files/__/README_txt.html +153 -0
- data/doc-api/files/kwalify/errors_rb.html +114 -0
- data/doc-api/files/kwalify/main_rb.html +118 -0
- data/doc-api/files/kwalify/messages_rb.html +107 -0
- data/doc-api/files/kwalify/meta-validator_rb.html +117 -0
- data/doc-api/files/kwalify/parser/base_rb.html +116 -0
- data/doc-api/files/kwalify/parser/yaml_rb.html +117 -0
- data/doc-api/files/kwalify/rule_rb.html +116 -0
- data/doc-api/files/kwalify/types_rb.html +114 -0
- data/doc-api/files/kwalify/util/assert-text-equal_rb.html +115 -0
- data/doc-api/files/kwalify/util/hash-interface_rb.html +114 -0
- data/doc-api/files/kwalify/util/hashlike_rb.html +107 -0
- data/doc-api/files/kwalify/util/option-parser_rb.html +107 -0
- data/doc-api/files/kwalify/util/ordered-hash_rb.html +107 -0
- data/doc-api/files/kwalify/util/testcase-helper_rb.html +115 -0
- data/doc-api/files/kwalify/util_rb.html +107 -0
- data/doc-api/files/kwalify/validator_rb.html +117 -0
- data/doc-api/files/kwalify/yaml-parser_rb.html +117 -0
- data/doc-api/files/kwalify_rb.html +121 -0
- data/doc-api/fr_class_index.html +57 -0
- data/doc-api/fr_file_index.html +45 -0
- data/doc-api/fr_method_index.html +168 -0
- data/doc-api/index.html +24 -0
- data/doc-api/rdoc-style.css +208 -0
- data/examples/address-book/Makefile +10 -0
- data/examples/address-book/address-book.schema.yaml +45 -0
- data/examples/address-book/address-book.yaml +36 -0
- data/examples/data-binding/BABEL.data.yaml +63 -0
- data/examples/data-binding/BABEL.schema.yaml +31 -0
- data/examples/data-binding/Makefile +8 -0
- data/examples/data-binding/Rakefile +13 -0
- data/examples/data-binding/main.rb +25 -0
- data/examples/invoice/Makefile +9 -0
- data/examples/invoice/invoice.schema.yaml +43 -0
- data/examples/invoice/invoice.yaml +32 -0
- data/examples/tapkit/Makefile +10 -0
- data/examples/tapkit/main.rb +7 -0
- data/examples/tapkit/tapkit.schema.yaml +146 -0
- data/examples/tapkit/tapkit.yaml +85 -0
- data/lib/kwalify/errors.rb +127 -0
- data/lib/kwalify/kwalify.schema.yaml +58 -0
- data/lib/kwalify/main.rb +442 -0
- data/lib/kwalify/messages.rb +173 -0
- data/lib/kwalify/meta-validator.rb +276 -0
- data/lib/kwalify/parser/base.rb +128 -0
- data/lib/kwalify/parser/yaml.rb +841 -0
- data/lib/kwalify/rule.rb +562 -0
- data/lib/kwalify/templates/genclass-java.eruby +222 -0
- data/lib/kwalify/templates/genclass-php.eruby +104 -0
- data/lib/kwalify/templates/genclass-ruby.eruby +113 -0
- data/lib/kwalify/types.rb +156 -0
- data/lib/kwalify/util/assert-text-equal.rb +46 -0
- data/lib/kwalify/util/hash-interface.rb +18 -0
- data/lib/kwalify/util/hashlike.rb +51 -0
- data/lib/kwalify/util/option-parser.rb +220 -0
- data/lib/kwalify/util/ordered-hash.rb +57 -0
- data/lib/kwalify/util/testcase-helper.rb +112 -0
- data/lib/kwalify/util.rb +159 -0
- data/lib/kwalify/validator.rb +282 -0
- data/lib/kwalify/version.rb +5 -0
- data/lib/kwalify/yaml-parser.rb +871 -0
- data/lib/kwalify.rb +61 -0
- data/rkwalify.gemspec +26 -0
- data/test/Rookbook.yaml +15 -0
- data/test/data/users-guide/AddressBook.java.expected +40 -0
- data/test/data/users-guide/BABEL.data.yaml +24 -0
- data/test/data/users-guide/BABEL.schema.yaml +30 -0
- data/test/data/users-guide/ExampleAddressBook.java +47 -0
- data/test/data/users-guide/Group.java.expected +24 -0
- data/test/data/users-guide/Person.java.expected +44 -0
- data/test/data/users-guide/address_book.rb +52 -0
- data/test/data/users-guide/address_book.schema.yaml +28 -0
- data/test/data/users-guide/address_book.yaml +27 -0
- data/test/data/users-guide/answers-schema.yaml +12 -0
- data/test/data/users-guide/answers-validator.rb +53 -0
- data/test/data/users-guide/babel_genclass.result +26 -0
- data/test/data/users-guide/config.schema.yaml +7 -0
- data/test/data/users-guide/config.yaml +4 -0
- data/test/data/users-guide/document01a.yaml +3 -0
- data/test/data/users-guide/document01b.yaml +3 -0
- data/test/data/users-guide/document02a.yaml +4 -0
- data/test/data/users-guide/document02b.yaml +4 -0
- data/test/data/users-guide/document03a.yaml +6 -0
- data/test/data/users-guide/document03b.yaml +6 -0
- data/test/data/users-guide/document04a.yaml +9 -0
- data/test/data/users-guide/document04b.yaml +9 -0
- data/test/data/users-guide/document05a.yaml +11 -0
- data/test/data/users-guide/document05b.yaml +12 -0
- data/test/data/users-guide/document06a.yaml +15 -0
- data/test/data/users-guide/document06b.yaml +16 -0
- data/test/data/users-guide/document07a.yaml +9 -0
- data/test/data/users-guide/document07b.yaml +7 -0
- data/test/data/users-guide/document12a.json +10 -0
- data/test/data/users-guide/document12b.json +6 -0
- data/test/data/users-guide/document13a.yaml +17 -0
- data/test/data/users-guide/document14a.yaml +3 -0
- data/test/data/users-guide/document14b.yaml +3 -0
- data/test/data/users-guide/document15a.yaml +6 -0
- data/test/data/users-guide/document15b.yaml +5 -0
- data/test/data/users-guide/example_address_book.rb +11 -0
- data/test/data/users-guide/example_address_book_java.result +32 -0
- data/test/data/users-guide/example_address_book_ruby.result +31 -0
- data/test/data/users-guide/genclass_java.result +4 -0
- data/test/data/users-guide/howto-validation-with-parsing.rb +28 -0
- data/test/data/users-guide/howto-validation.rb +25 -0
- data/test/data/users-guide/howto3.rb +6 -0
- data/test/data/users-guide/howto3.result +5 -0
- data/test/data/users-guide/howto3.yaml +8 -0
- data/test/data/users-guide/howto5_databinding.result +111 -0
- data/test/data/users-guide/invalid01.result +3 -0
- data/test/data/users-guide/invalid02.result +5 -0
- data/test/data/users-guide/invalid03.result +5 -0
- data/test/data/users-guide/invalid04.result +4 -0
- data/test/data/users-guide/invalid05.result +11 -0
- data/test/data/users-guide/invalid06.result +4 -0
- data/test/data/users-guide/invalid07.result +3 -0
- data/test/data/users-guide/invalid08.result +3 -0
- data/test/data/users-guide/invalid12.json +8 -0
- data/test/data/users-guide/invalid14.result +4 -0
- data/test/data/users-guide/invalid15.result +4 -0
- data/test/data/users-guide/loadbabel.rb +27 -0
- data/test/data/users-guide/loadconfig.rb +17 -0
- data/test/data/users-guide/loadconfig.result +6 -0
- data/test/data/users-guide/models.rb +24 -0
- data/test/data/users-guide/option_ha.result +6 -0
- data/test/data/users-guide/option_ha_genclass_java.result +7 -0
- data/test/data/users-guide/schema01.yaml +3 -0
- data/test/data/users-guide/schema02.yaml +12 -0
- data/test/data/users-guide/schema03.yaml +9 -0
- data/test/data/users-guide/schema04.yaml +20 -0
- data/test/data/users-guide/schema05.yaml +29 -0
- data/test/data/users-guide/schema06.yaml +11 -0
- data/test/data/users-guide/schema12.json +12 -0
- data/test/data/users-guide/schema13.yaml +13 -0
- data/test/data/users-guide/schema14.yaml +5 -0
- data/test/data/users-guide/schema15.yaml +21 -0
- data/test/data/users-guide/valid01.result +2 -0
- data/test/data/users-guide/valid02.result +2 -0
- data/test/data/users-guide/valid03.result +2 -0
- data/test/data/users-guide/valid04.result +2 -0
- data/test/data/users-guide/valid05.result +2 -0
- data/test/data/users-guide/valid06.result +2 -0
- data/test/data/users-guide/valid07.result +2 -0
- data/test/data/users-guide/valid08.result +2 -0
- data/test/data/users-guide/valid12.result +2 -0
- data/test/data/users-guide/valid13.result +2 -0
- data/test/data/users-guide/valid14.result +2 -0
- data/test/data/users-guide/valid15.result +2 -0
- data/test/data/users-guide/validate08.rb +37 -0
- data/test/test-action.rb +73 -0
- data/test/test-action.yaml +738 -0
- data/test/test-databinding.rb +84 -0
- data/test/test-databinding.yaml +339 -0
- data/test/test-main.rb +156 -0
- data/test/test-main.yaml +409 -0
- data/test/test-metavalidator.rb +80 -0
- data/test/test-metavalidator.yaml +1179 -0
- data/test/test-parser-yaml.rb +57 -0
- data/test/test-parser-yaml.yaml +1750 -0
- data/test/test-rule.rb +26 -0
- data/test/test-rule.yaml +317 -0
- data/test/test-users-guide.rb +82 -0
- data/test/test-util.rb +125 -0
- data/test/test-validator.rb +95 -0
- data/test/test-validator.yaml +986 -0
- data/test/test-yaml-parser.rb +47 -0
- data/test/test-yaml-parser.yaml +1226 -0
- data/test/test.rb +75 -0
- metadata +293 -0
data/.ruby-version
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ruby-3.4.7
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# rkwalify
|
|
2
|
+
|
|
3
|
+
release:: 0.7.2
|
|
4
|
+
lastupdate:: $Date$
|
|
5
|
+
copyright:: copyright(c) 2005-2010 kuwata-lab all rights reserved.
|
|
6
|
+
|
|
7
|
+
== Introduction
|
|
8
|
+
|
|
9
|
+
Updated version of
|
|
10
|
+
"Kwalify is a parser, schema validator, and data binding tool for YAML and JSON"
|
|
11
|
+
|
|
12
|
+
See doc/users-guide.html for details.
|
|
13
|
+
|
|
14
|
+
== Installation
|
|
15
|
+
|
|
16
|
+
If you have installed RubyGems, just type 'gem install kwalify'
|
|
17
|
+
|
|
18
|
+
$ sudo gem install kwalify
|
|
19
|
+
|
|
20
|
+
Else if you can be root user, use 'setup.rb' as following:
|
|
21
|
+
|
|
22
|
+
$ tar xjf kwalify-0.7.2.tar.bz2
|
|
23
|
+
$ cd kwalify-0.7.2/
|
|
24
|
+
$ sudo ruby setup.rb install
|
|
25
|
+
|
|
26
|
+
Else copy script and libraries to proper directory.
|
|
27
|
+
|
|
28
|
+
$ tar xjf kwalify-0.7.2.tar.bz2
|
|
29
|
+
$ cd kwalify-0.7.2/
|
|
30
|
+
$ mkdir -p $HOME/bin
|
|
31
|
+
$ cp -a bin/* $HOME/bin
|
|
32
|
+
$ export PATH=$PATH:$HOME/bin
|
|
33
|
+
$ mkdir -p $HOME/lib/ruby
|
|
34
|
+
$ cp -a lib/* $HOME/lib/ruby
|
|
35
|
+
$ export RUBYLIB=$HOME/lib/ruby
|
|
36
|
+
|
|
37
|
+
(Optional) 'contrib/inline-require' script to concatenate all script
|
|
38
|
+
and libraries into a file.
|
|
39
|
+
|
|
40
|
+
$ tar xjf kwalify-0.7.2.tar.bz2
|
|
41
|
+
$ cd kwalify-0.7.2/
|
|
42
|
+
$ unset RUBYLIB
|
|
43
|
+
$ ruby contrib/inline-require -I ./lib bin/kwalify > contrib/kwalify
|
|
44
|
+
$ chmod a+x contrib/kwalify
|
|
45
|
+
$ mv contrib/kwalify $HOME/bin
|
|
46
|
+
|
|
47
|
+
== License
|
|
48
|
+
|
|
49
|
+
MIT License
|
|
50
|
+
|
|
51
|
+
== Copyright
|
|
52
|
+
|
|
53
|
+
copyright(c) 2005-2010 kuwata-lab all rights reserved.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
Feature: rkwalify CLI
|
|
2
|
+
|
|
3
|
+
Scenario: Validate a valid YAML file via CLI
|
|
4
|
+
When I run `rkwalify -s spec/fixtures/schema.yml spec/fixtures/valid.yml`
|
|
5
|
+
Then the exit status should be 0
|
|
6
|
+
|
|
7
|
+
Scenario: Validate an invalid YAML file via CLI
|
|
8
|
+
When I run `rkwalify -s spec/fixtures/schema.yml spec/fixtures/invalid.yml`
|
|
9
|
+
Then the exit status should not be 0
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
require "kwalify"
|
|
2
|
+
require "yaml"
|
|
3
|
+
|
|
4
|
+
Given("a YAML file {string}") do |path|
|
|
5
|
+
@yaml_data = YAML.load_file(path)
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
When("I validate it with the schema {string}") do |schema_path|
|
|
9
|
+
schema = YAML.load_file(schema_path)
|
|
10
|
+
validator = Rkwalify::Validator.new(schema)
|
|
11
|
+
@errors = validator.validate(@yaml_data)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
Then("the validation should pass") do
|
|
15
|
+
expect(@errors).to be_empty
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
Then("the validation should fail") do
|
|
19
|
+
expect(@errors).not_to be_empty
|
|
20
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Feature: Validate YAML using rkwalify
|
|
2
|
+
|
|
3
|
+
Scenario: Valid YAML passes validation
|
|
4
|
+
Given a YAML file "test/data/users-guide/address_book.yaml"
|
|
5
|
+
When I validate it with the schema "test/data/users-guide/address_book.schema.yaml"
|
|
6
|
+
Then the validation should pass
|
|
7
|
+
|
|
8
|
+
address_book.yaml
|
|
9
|
+
Scenario: Invalid YAML fails validation
|
|
10
|
+
Given a YAML file "spec/fixtures/invalid.yml"
|
|
11
|
+
When I validate it with the schema "spec/fixtures/schema.yml"
|
|
12
|
+
Then the validation should fail
|
data/Attic/s+h
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
|
|
2
|
+
2026-02-08 13:38 Page 1
|
|
3
|
+
|
|
4
|
+
ab gt rdbms
|
|
5
|
+
accessor hashlike readfile
|
|
6
|
+
addrbook hasnext rel
|
|
7
|
+
addressbook howot repsents
|
|
8
|
+
akashi howto rulehash
|
|
9
|
+
answersvalidator href sakura
|
|
10
|
+
aoi html sannomiya
|
|
11
|
+
argf http seq
|
|
12
|
+
args img setbirth
|
|
13
|
+
attr instanceof setblood
|
|
14
|
+
basedir java setdesc
|
|
15
|
+
baz javac setemail
|
|
16
|
+
bool javascript setgroup
|
|
17
|
+
br json setgroups
|
|
18
|
+
classpath jst setname
|
|
19
|
+
com jun setpeople
|
|
20
|
+
config kaoru setphone
|
|
21
|
+
css kohichi shiho
|
|
22
|
+
databinding kuwata shiina
|
|
23
|
+
def kwa src
|
|
24
|
+
desc kwalify stateful
|
|
25
|
+
dir kwartz str
|
|
26
|
+
div kwaser stylesheet
|
|
27
|
+
dl lf sumire
|
|
28
|
+
docstyle li teleporter
|
|
29
|
+
doctype linenum tf
|
|
30
|
+
dt linenumber thechildren
|
|
31
|
+
dtd loadbabel tmp
|
|
32
|
+
emacs loadconfig toc
|
|
33
|
+
en localhost toooooo
|
|
34
|
+
enum looooong tue
|
|
35
|
+
env lt ul
|
|
36
|
+
equiv mainbody untabify
|
|
37
|
+
eruby makoto usr
|
|
38
|
+
espers metavalidator util
|
|
39
|
+
exampleaddressbook minamoto val
|
|
40
|
+
feb msg validationerror
|
|
41
|
+
fnlink naem validator
|
|
42
|
+
fnref nogami www
|
|
43
|
+
genclass ommitted xdde
|
|
44
|
+
getbirth org xddf
|
|
45
|
+
getblood php xde
|
|
46
|
+
getdesc png xdee
|
|
47
|
+
getemail posrt xdefdc
|
|
48
|
+
getgroup pre yaml
|
|
49
|
+
getgroups println yamlparser
|
|
50
|
+
getname psychokino ydoc
|
|
51
|
+
getpeople psycometrer zak
|
|
52
|
+
getphone rb
|
|
53
|
+
|