https://github.com/voxpupuli/json-schema
Ruby JSON Schema Validator
https://github.com/voxpupuli/json-schema
Keywords
hacktoberfest
Keywords from Contributors
activerecord activejob mvc feature-flag rubygems rspec rubocop ruby-gem background-jobs sidekiq
Last synced: about 12 hours ago
JSON representation
Repository metadata
Ruby JSON Schema Validator
- Host: GitHub
- URL: https://github.com/voxpupuli/json-schema
- Owner: voxpupuli
- License: mit
- Created: 2010-11-24T20:05:16.000Z (about 15 years ago)
- Default Branch: master
- Last Pushed: 2025-11-21T13:21:02.000Z (21 days ago)
- Last Synced: 2025-11-27T17:23:54.687Z (15 days ago)
- Topics: hacktoberfest
- Language: Ruby
- Homepage:
- Size: 1.2 MB
- Stars: 1,626
- Watchers: 63
- Forks: 247
- Open Issues: 100
- Releases: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
README.md
Ruby JSON Schema Validator
This library is intended to provide Ruby with an interface for validating JSON
objects against a JSON schema conforming to JSON Schema Draft
6. Legacy support for
JSON Schema Draft 4,
JSON Schema Draft 3,
JSON Schema Draft 2, and
JSON Schema Draft 1 is
also included.
Additional Resources
- Google Groups
- #voxpupuli on irc.libera.chat
Version 2.0.0 Upgrade Notes
Please be aware that the upgrade to version 2.0.0 will use Draft-04 by
default, so schemas that do not declare a validator using the $schema
keyword will use Draft-04 now instead of Draft-03. This is the reason for the
major version upgrade.
Version 3.0.0 Upgrade Notes
All individual changes are documented in the CHANGELOG.md. The biggest change
is that the new version only supports Ruby 2.5 and newer. Take a look into the
gemspec file to see the currently supported Ruby version and also
.github/workflows/test.yml to see the Ruby versions we test on.
Installation
From rubygems.org:
gem install json-schema
From the git repo:
gem build json-schema.gemspec
gem install json-schema-*.gem
Validation
Three base validation methods exist:
validate: returns a boolean on whether a validation attempt passesvalidate!: throws aJSON::Schema::ValidationErrorwith an appropriate message/trace on where the validation failedfully_validate: builds an array of validation errors return when validation is complete
All methods take two arguments, which can be either a JSON string, a file
containing JSON, or a Ruby object representing JSON data. The first argument to
these methods is always the schema, the second is always the data to validate.
An optional third options argument is also accepted; available options are used
in the examples below.
By default, the validator uses the JSON Schema Draft
4 specification for
validation; however, the user is free to specify additional specifications or
extend existing ones. Legacy support for Draft 1, Draft 2, and Draft 3 is
included by either passing an optional :version parameter to the validate
method (set either as :draft1 or draft2), or by declaring the $schema
attribute in the schema and referencing the appropriate specification URI. Note
that the $schema attribute takes precedence over the :version option during
parsing and validation.
For further information on json schema itself refer to Understanding
JSON Schema.
Basic Usage
require "json-schema"
schema = {
"type" => "object",
"required" => ["a"],
"properties" => {
"a" => {"type" => "integer"}
}
}
#
# validate ruby objects against a ruby schema
#
# => true
JSON::Validator.validate(schema, { "a" => 5 })
# => false
JSON::Validator.validate(schema, {})
#
# validate a json string against a json schema file
#
require "json"
File.write("schema.json", JSON.dump(schema))
# => true
JSON::Validator.validate('schema.json', '{ "a": 5 }')
#
# raise an error when validation fails
#
# => "The property '#/a' of type String did not match the following type: integer"
begin
JSON::Validator.validate!(schema, { "a" => "taco" })
rescue JSON::Schema::ValidationError => e
e.message
end
#
# return an array of error messages when validation fails
#
# => ["The property '#/a' of type String did not match the following type: integer in schema 18a1ffbb-4681-5b00-bd15-2c76aee4b28f"]
JSON::Validator.fully_validate(schema, { "a" => "taco" })
Advanced Options
require "json-schema"
schema = {
"type"=>"object",
"required" => ["a"],
"properties" => {
"a" => {
"type" => "integer",
"default" => 42
},
"b" => {
"type" => "object",
"properties" => {
"x" => {
"type" => "integer"
}
}
}
}
}
#
# with the `:list` option, a list can be validated against a schema that represents the individual objects
#
# => true
JSON::Validator.validate(schema, [{"a" => 1}, {"a" => 2}, {"a" => 3}], :list => true)
# => false
JSON::Validator.validate(schema, [{"a" => 1}, {"a" => 2}, {"a" => 3}])
#
# with the `:errors_as_objects` option, `#fully_validate` returns errors as hashes instead of strings
#
# => [{:schema=>#<Addressable::URI:0x3ffa69cbeed8 URI:18a1ffbb-4681-5b00-bd15-2c76aee4b28f>, :fragment=>"#/a", :message=>"The property '#/a' of type String did not match the following type: integer in schema 18a1ffbb-4681-5b00-bd15-2c76aee4b28f", :failed_attribute=>"TypeV4"}]
JSON::Validator.fully_validate(schema, { "a" => "taco" }, :errors_as_objects => true)
#
# with the `:strict` option, all properties are considered to have `"required": true` and all objects `"additionalProperties": false`
#
# => true
JSON::Validator.validate(schema, { "a" => 1, "b" => { "x" => 2 } }, :strict => true)
# => false
JSON::Validator.validate(schema, { "a" => 1, "b" => { "x" => 2 }, "c" => 3 }, :strict => true)
# => false
JSON::Validator.validate(schema, { "a" => 1 }, :strict => true)
#
# with the `:fragment` option, only a fragment of the schema is used for validation
#
# => true
JSON::Validator.validate(schema, { "x" => 1 }, :fragment => "#/properties/b")
# => false
JSON::Validator.validate(schema, { "x" => 1 })
#
# with the `:validate_schema` option, the schema is validated (against the json schema spec) before the json is validated (against the specified schema)
#
# => true
JSON::Validator.validate(schema, { "a" => 1 }, :validate_schema => true)
# => false
JSON::Validator.validate({ "required" => true }, { "a" => 1 }, :validate_schema => true)
#
# with the `:insert_defaults` option, any undefined values in the json that have a default in the schema are replaced with the default before validation
#
# => true
JSON::Validator.validate(schema, {}, :insert_defaults => true)
# => false
JSON::Validator.validate(schema, {})
#
# with the `:version` option, schemas conforming to older drafts of the json schema spec can be used
#
v2_schema = {
"type" => "object",
"properties" => {
"a" => {
"type" => "integer"
}
}
}
# => false
JSON::Validator.validate(v2_schema, {}, :version => :draft2)
# => true
JSON::Validator.validate(v2_schema, {})
#
# with the `:parse_data` option set to false, the json must be a parsed ruby object (not a json text, a uri or a file path)
#
# => true
JSON::Validator.validate(schema, { "a" => 1 }, :parse_data => false)
# => false
JSON::Validator.validate(schema, '{ "a": 1 }', :parse_data => false)
#
# with the `:parse_integer` option set to false, the integer value given as string will not be parsed.
#
# => true
JSON::Validator.validate({type: "integer"}, "23")
# => false
JSON::Validator.validate({type: "integer"}, "23", parse_integer: false)
# => true
JSON::Validator.validate({type: "string"}, "123", parse_integer: false)
# => false
JSON::Validator.validate({type: "string"}, "123")
#
# with the `:json` option, the json must be an unparsed json text (not a hash, a uri or a file path)
#
# => true
JSON::Validator.validate(schema, '{ "a": 1 }', :json => true)
# => "no implicit conversion of Hash into String"
begin
JSON::Validator.validate(schema, { "a" => 1 }, :json => true)
rescue TypeError => e
e.message
end
#
# with the `:uri` option, the json must be a uri or file path (not a hash or a json text)
#
File.write("data.json", '{ "a": 1 }')
# => true
JSON::Validator.validate(schema, "data.json", :uri => true)
# => "Can't convert Hash into String."
begin
JSON::Validator.validate(schema, { "a" => 1 }, :uri => true)
rescue TypeError => e
e.message
end
#
# with the `:clear_cache` option set to true, the internal cache of schemas is
# cleared after validation (otherwise schemas are cached for efficiency)
#
File.write("schema.json", v2_schema.to_json)
# => true
JSON::Validator.validate("schema.json", {})
File.write("schema.json", schema.to_json)
# => true
JSON::Validator.validate("schema.json", {}, :clear_cache => true)
# => false
JSON::Validator.validate("schema.json", {})
Extending Schemas
For this example, we are going to extend the JSON Schema Draft
3 specification by adding
a 'bitwise-and' property for validation.
require "json-schema"
class BitwiseAndAttribute < JSON::Schema::Attribute
def self.validate(current_schema, data, fragments, processor, validator, options = {})
if data.is_a?(Integer) && data & current_schema.schema['bitwise-and'].to_i == 0
message = "The property '#{build_fragment(fragments)}' did not evaluate to true when bitwise-AND'd with #{current_schema.schema['bitwise-or']}"
validation_error(processor, message, fragments, current_schema, self, options[:record_errors])
end
end
end
class ExtendedSchema < JSON::Schema::Draft3
def initialize
super
@attributes["bitwise-and"] = BitwiseAndAttribute
@uri = JSON::Util::URI.parse("http://test.com/test.json")
@names = ["http://test.com/test.json"]
end
JSON::Validator.register_validator(self.new)
end
schema = {
"$schema" => "http://test.com/test.json",
"properties" => {
"a" => {
"bitwise-and" => 1
},
"b" => {
"type" => "string"
}
}
}
data = {
"a" => 0
}
data = {"a" => 1, "b" => "taco"}
JSON::Validator.validate(schema,data) # => true
data = {"a" => 1, "b" => 5}
JSON::Validator.validate(schema,data) # => false
data = {"a" => 0, "b" => "taco"}
JSON::Validator.validate(schema,data) # => false
Custom format validation
The JSON schema standard allows custom formats in schema definitions which
should be ignored by validators that do not support them. JSON::Schema allows
registering procs as custom format validators which receive the value to be
checked as parameter and must raise a JSON::Schema::CustomFormatError to
indicate a format violation. The error message will be prepended by the property
name, e.g. The property '#a'
require "json-schema"
format_proc = -> value {
raise JSON::Schema::CustomFormatError.new("must be 42") unless value == "42"
}
# register the proc for format 'the-answer' for draft4 schema
JSON::Validator.register_format_validator("the-answer", format_proc, ["draft4"])
# omitting the version parameter uses ["draft1", "draft2", "draft3", "draft4"] as default
JSON::Validator.register_format_validator("the-answer", format_proc)
# deregistering the custom validator
# (also ["draft1", "draft2", "draft3", "draft4"] as default version)
JSON::Validator.deregister_format_validator('the-answer', ["draft4"])
# shortcut to restore the default formats for validators (same default as before)
JSON::Validator.restore_default_formats(["draft4"])
# with the validator registered as above, the following results in
# ["The property '#a' must be 42"] as returned errors
schema = {
"$schema" => "http://json-schema.org/draft-04/schema#",
"properties" => {
"a" => {
"type" => "string",
"format" => "the-answer",
}
}
}
errors = JSON::Validator.fully_validate(schema, {"a" => "23"})
Validating a JSON Schema
To validate that a JSON Schema conforms to the JSON Schema standard,
you need to validate your schema against the metaschema for the appropriate
JSON Schema Draft. All of the normal validation methods can be used
for this. First retrieve the appropriate metaschema from the internal
cache (using JSON::Validator.validator_for_name() or
JSON::Validator.validator_for_uri()) and then simply validate your
schema against it.
require "json-schema"
schema = {
"type" => "object",
"properties" => {
"a" => {"type" => "integer"}
}
}
metaschema = JSON::Validator.validator_for_name("draft4").metaschema
# => true
JSON::Validator.validate(metaschema, schema)
Controlling Remote Schema Reading
In some cases, you may wish to prevent the JSON Schema library from making HTTP
calls or reading local files in order to resolve $ref schemas. If you fully
control all schemas which should be used by validation, this could be
accomplished by registering all referenced schemas with the validator in
advance:
schema = JSON::Schema.new(some_schema_definition, Addressable::URI.parse('http://example.com/my-schema'))
JSON::Validator.add_schema(schema)
If more extensive control is necessary, the JSON::Schema::Reader instance used
can be configured in a few ways:
# Change the default schema reader used
JSON::Validator.schema_reader = JSON::Schema::Reader.new(:accept_uri => true, :accept_file => false)
# For this validation call, use a reader which only accepts URIs from my-website.com
schema_reader = JSON::Schema::Reader.new(
:accept_uri => proc { |uri| uri.host == 'my-website.com' }
)
JSON::Validator.validate(some_schema, some_object, :schema_reader => schema_reader)
The JSON::Schema::Reader interface requires only an object which responds to
read(string) and returns a JSON::Schema instance. See the API
documentation
for more information.
JSON Backends
The JSON Schema library currently supports the json and yajl-ruby backend
JSON parsers. If either of these libraries are installed, they will be
automatically loaded and used to parse any JSON strings supplied by the user.
If more than one of the supported JSON backends are installed, the yajl-ruby
parser is used by default. This can be changed by issuing the following before
validation:
JSON::Validator.json_backend = :json
Optionally, the JSON Schema library supports using the MultiJSON library for
selecting JSON backends. If the MultiJSON library is installed, it will be
autoloaded.
Notes
The 'format' attribute is only validated for the following values:
- date-time
- date
- time
- ip-address (IPv4 address in draft1, draft2 and draft3)
- ipv4 (IPv4 address in draft4)
- ipv6
- uri
All other 'format' attribute values are simply checked to ensure the instance
value is of the correct datatype (e.g., an instance value is validated to be an
integer or a float in the case of 'utc-millisec').
Additionally, JSON::Validator does not handle any json hyperschema attributes.
Transfer Notice
This plugin was originally authored by Iain Beeston.
The maintainer preferred that Vox Pupuli take ownership of the module for future improvement and maintenance.
Existing pull requests and issues were transferred, please fork and continue to contribute here.
License
This gem is licensed under the MIT license.
Release information
To make a new release, please do:
- update the version in VERSION.yml
- Install gems with
bundle install --with release --path .vendor - generate the changelog with
bundle exec rake changelog - Check if the new version matches the closed issues/PRs in the changelog
- Create a PR with it
- After it got merged, push a tag. GitHub actions will do the actual release to rubygems and GitHub Packages
Owner metadata
- Name: Vox Pupuli
- Login: voxpupuli
- Email: voxpupuli@groups.io
- Kind: organization
- Description: Modules and tooling maintained by and for the Puppet community
- Website: https://voxpupuli.org
- Location: #voxpupuli (Libera.chat)
- Twitter: voxpupuliorg
- Company:
- Icon url: https://avatars.githubusercontent.com/u/8693967?v=4
- Repositories: 332
- Last ynced at: 2024-10-29T13:07:12.466Z
- Profile URL: https://github.com/voxpupuli
GitHub Events
Total
- Create event: 5
- Release event: 2
- Issues event: 2
- Watch event: 73
- Delete event: 3
- Issue comment event: 17
- Push event: 12
- Pull request review event: 9
- Pull request event: 27
- Fork event: 5
Last Year
- Create event: 3
- Release event: 2
- Issues event: 2
- Watch event: 54
- Delete event: 3
- Issue comment event: 16
- Push event: 7
- Pull request review event: 6
- Pull request event: 17
- Fork event: 3
Committers metadata
Last synced: 7 days ago
Total Commits: 777
Total Committers: 94
Avg Commits per committer: 8.266
Development Distribution Score (DDS): 0.749
Commits in past year: 30
Committers in past year: 6
Avg Commits per committer in past year: 5.0
Development Distribution Score (DDS) in past year: 0.433
| Name | Commits | |
|---|---|---|
| Kenny Hoxworth | h****h@g****m | 195 |
| Iain Beeston | i****n@g****m | 125 |
| Tim Meusel | t****m@b****e | 122 |
| Kyle Hargraves | pd@k****e | 64 |
| Jonas Peschla | g****b@p****t | 53 |
| Tema Bolshakov | e****e@g****m | 16 |
| Iain Beeston | i****n@t****m | 15 |
| Matt Palmer | m****r@h****g | 11 |
| David Barri | j****y@g****m | 10 |
| Alex Soto | a****o@g****m | 8 |
| Myron Marston | m****n@g****m | 7 |
| James McKinney | j****s@s****m | 7 |
| mohanapriya2308 | 5****8 | 6 |
| dependabot[bot] | 4****] | 6 |
| Jonathan Chrisp | j****n@b****m | 5 |
| ydah | 1****h | 4 |
| iSage | i****a@g****m | 4 |
| Aidan Lavis | a****s@k****m | 4 |
| Aaron Rosen | a****n@g****m | 4 |
| david | d****d@n****m | 4 |
| Ben Slaughter | b****s@b****m | 4 |
| ILikePies | p****k@g****m | 3 |
| Ben Kirzhner | b****n@b****m | 3 |
| Ethan | e****n@m****a | 3 |
| Tony Marklove | t****y@n****k | 3 |
| Josh Bradley | j****y@a****g | 3 |
| Olle Jonsson | o****n@g****m | 3 |
| Michael J. Cohen | m****c@k****g | 2 |
| Josh Kalderimis | j****s@g****m | 2 |
| Jonathan Chrisp | j****p@g****m | 2 |
| and 64 more... | ||
Committer domains:
- squareup.com: 2
- brandwatch.com: 2
- evri.com: 1
- mytappr.com: 1
- cerego.com: 1
- gironda.org: 1
- yandex.ru: 1
- goodguide.com: 1
- kernel.org: 1
- arcticlcc.org: 1
- new-bamboo.co.uk: 1
- bkirz.com: 1
- nlpgo.com: 1
- gusto.com: 1
- kickstarter.com: 1
- slashpoundbang.com: 1
- hezmatt.org: 1
- thoughtbot.com: 1
- peschla.net: 1
- krh.me: 1
- bastelfreak.de: 1
- stripe.com: 1
- jessestuart.ca: 1
- digital.cabinet-office.gov.uk: 1
- dannote.net: 1
- treppo.org: 1
- kindkid.com: 1
- freshworks.com: 1
- github.com: 1
- tylerhunt.com: 1
- tommay.net: 1
- perforce.com: 1
- teoljungberg.com: 1
- blinkbox.com: 1
- ubuntu.home: 1
- undev.ru: 1
- ipglider.org: 1
- glowacz.info: 1
- ndbroadbent.com: 1
- venntechnology.com: 1
- puppetlabs.com: 1
Issue and Pull Request metadata
Last synced: 19 days ago
Total issues: 43
Total pull requests: 157
Average time to close issues: over 1 year
Average time to close pull requests: 12 months
Total issue authors: 41
Total pull request authors: 51
Average comments per issue: 3.56
Average comments per pull request: 1.86
Merged pull request: 104
Bot issues: 0
Bot pull requests: 5
Past year issues: 2
Past year pull requests: 25
Past year average time to close issues: N/A
Past year average time to close pull requests: 3 days
Past year issue authors: 2
Past year pull request authors: 8
Past year average comments per issue: 0.0
Past year average comments per pull request: 0.56
Past year merged pull request: 19
Past year bot issues: 0
Past year bot pull requests: 4
Top Issue Authors
- ngouy (2)
- AdrianTP (2)
- bolshakov (1)
- MSAdministrator (1)
- ghost (1)
- pdlug (1)
- thomasbalsloev (1)
- ndbroadbent (1)
- glennsarti (1)
- exterm (1)
- hfabre (1)
- ehelms (1)
- JaniJegoroff (1)
- llopez (1)
- abidon (1)
Top Pull Request Authors
- bastelfreak (69)
- iainbeeston (10)
- bolshakov (6)
- dependabot[bot] (5)
- RST-J (4)
- ndbroadbent (3)
- olleolleolle (3)
- beechtom (2)
- torce (2)
- h0lyalg0rithm (2)
- dbussink (2)
- yohasebe (2)
- emmanuel-ferdman (2)
- zdennis (2)
- andrew (2)
Top Issue Labels
- skip-changelog (4)
- Bug (1)
Top Pull Request Labels
- skip-changelog (38)
- enhancement (23)
- Bug (15)
- backwards-incompatible (8)
- dependencies (5)
- github_actions (5)
Package metadata
- Total packages: 8
-
Total downloads:
- rubygems: 315,685,405 total
- Total docker downloads: 6,446,151,832
- Total dependent packages: 300 (may contain duplicates)
- Total dependent repositories: 5,294 (may contain duplicates)
- Total versions: 227
- Total maintainers: 2
gem.coop: json-schema
Ruby JSON Schema Validator
- Homepage: https://github.com/voxpupuli/json-schema/
- Documentation: http://www.rubydoc.info/gems/json-schema/
- Licenses: MIT
- Latest release: 6.0.0 (published 4 months ago)
- Last Synced: 2025-12-07T07:37:13.142Z (5 days ago)
- Versions: 94
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 157,852,022 Total
- Docker Downloads: 3,223,075,916
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Docker downloads count: 0.037%
- Average: 0.048%
- Downloads: 0.157%
- Maintainers (1)
-
Funding:
- https://github.com/sponsors/voxpupuli
rubygems.org: json-schema
Ruby JSON Schema Validator
- Homepage: https://github.com/voxpupuli/json-schema/
- Documentation: http://www.rubydoc.info/gems/json-schema/
- Licenses: MIT
- Latest release: 6.0.0 (published 4 months ago)
- Last Synced: 2025-12-06T16:30:45.221Z (6 days ago)
- Versions: 94
- Dependent Packages: 300
- Dependent Repositories: 5,294
- Downloads: 157,833,383 Total
- Docker Downloads: 3,223,075,916
-
Rankings:
- Docker downloads count: 0.085%
- Dependent packages count: 0.147%
- Downloads: 0.162%
- Dependent repos count: 0.435%
- Average: 0.652%
- Stargazers count: 1.355%
- Forks count: 1.731%
- Maintainers (1)
-
Funding:
- https://github.com/sponsors/voxpupuli
proxy.golang.org: github.com/voxpupuli/json-schema
- Homepage:
- Documentation: https://pkg.go.dev/github.com/voxpupuli/json-schema#section-documentation
- Licenses: mit
- Latest release: v6.0.0+incompatible (published 4 months ago)
- Last Synced: 2025-12-05T17:05:42.627Z (7 days ago)
- Versions: 24
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 6.497%
- Average: 6.716%
- Dependent repos count: 6.936%
alpine-edge: ruby-json-schema
Ruby JSON Schema Validator
- Homepage: https://github.com/voxpupuli/json-schema
- Licenses: MIT
- Latest release: 6.0.0-r0 (published 4 months ago)
- Last Synced: 2025-11-18T11:03:50.601Z (24 days ago)
- Versions: 11
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Forks count: 6.81%
- Average: 7.507%
- Stargazers count: 7.713%
- Dependent packages count: 15.506%
- Maintainers (1)
alpine-v3.21: ruby-json-schema
Ruby JSON Schema Validator
- Homepage: https://github.com/voxpupuli/json-schema
- Licenses: MIT
- Latest release: 5.1.1-r0 (published about 1 year ago)
- Last Synced: 2025-12-05T17:05:43.276Z (7 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
- Maintainers (1)
alpine-v3.20: ruby-json-schema
Ruby JSON Schema Validator
- Homepage: https://github.com/voxpupuli/json-schema
- Licenses: MIT
- Latest release: 4.3.0-r0 (published over 1 year ago)
- Last Synced: 2025-11-21T11:22:09.839Z (21 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
- Maintainers (1)
alpine-v3.22: ruby-json-schema
Ruby JSON Schema Validator
- Homepage: https://github.com/voxpupuli/json-schema
- Licenses: MIT
- Latest release: 5.1.1-r1 (published 8 months ago)
- Last Synced: 2025-12-05T17:05:43.633Z (7 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
- Maintainers (1)
alpine-v3.19: ruby-json-schema
Ruby JSON Schema Validator
- Homepage: https://github.com/voxpupuli/json-schema
- Licenses: MIT
- Latest release: 4.1.1-r0 (published about 2 years ago)
- Last Synced: 2025-12-03T16:04:44.054Z (9 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
- Maintainers (1)
Dependencies
- github_changelog_generator >= 0 development
- rubocop ~> 1.11.0 development
- rubocop-performance ~> 1.10.2 development
- rubocop-rake ~> 0.5.1 development
- rubocop-rspec ~> 2.2.0 development
- codecov >= 0
- simplecov-console >= 0
- bundler >= 0 development
- minitest ~> 5.0 development
- rake >= 0 development
- webmock >= 0 development
- addressable >= 2.8
- actions/checkout v2 composite
- ruby/setup-ruby v1 composite
- actions/checkout v2 composite
- ruby/setup-ruby v1 composite
Score: 34.63141825891676