openc-json_schema 0.0.13 → 0.0.14
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 +5 -13
- data/.gitignore +2 -0
- data/.travis.yml +9 -0
- data/Gemfile +2 -4
- data/{LICENSE.txt → LICENSE} +0 -2
- data/README.md +11 -12
- data/Rakefile +15 -1
- data/lib/openc/json_schema.rb +1 -0
- data/lib/openc/json_schema/validator.rb +48 -38
- data/lib/openc/json_schema/version.rb +1 -1
- data/openc-json_schema.gemspec +19 -19
- data/spec/openc_json_schema_spec.rb +14 -0
- data/spec/spec_helper.rb +14 -31
- metadata +55 -30
- data/Gemfile.lock +0 -41
- data/publish.sh +0 -9
- data/spec/tmp/.gitkeep +0 -0
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
YTFkZjIyNmI3MzQzNDE5YWY5MjU4YTcwM2UzOTQ0ODUwYjIzNzhkOQ==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ccb1b4275ae9645554976a7b87d2b5b6cdb73e5c
|
4
|
+
data.tar.gz: 3b95c93c17c65d7c5d6b0b183fc3e03d8937692a
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
M2UxOWM1ODc3MWZlM2VhMDRmYjJhMmVmMzc3YWNhODgyMzc0NGVmN2JkMGIy
|
11
|
-
OTE0MWIzZDZkNzBkZjVkMjJkOTA3ODVmNmY3NTkyMmRmMzNiOGI=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
MzYwY2MyMmM4N2ZkOTVmZjVlZDVmZDc0MzViYjllNTE5YTZlNWJjNDZhMjI1
|
14
|
-
Y2Y0OTRiM2JkYmNiNTE3NWVjNDEyOTVhNzZmZDYyZTljMjUwNTczMGYyZGZl
|
15
|
-
YTgwMTE0ZjY5ZTBkY2I1MmNkMjhjMWFiNGU1YzY4NTYwN2QwN2I=
|
6
|
+
metadata.gz: 3e7489d1dc42eb390e3d8d6e1b9993aa4ec377b6ad4a9bff89092ffdbb591a29da0128b052ef10450c42fef470fd36d9693bccf20503118432c27b539bb056f7
|
7
|
+
data.tar.gz: fa296c3de7ea00c77736db7e9d409d1ee6412b4dd4d38cebd77931c0daa3665151b0f06598f5e7f0ed7ed8d76b183b7b39bd920a250275ada466a6458150fbfd
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/{LICENSE.txt → LICENSE}
RENAMED
data/README.md
CHANGED
@@ -1,20 +1,19 @@
|
|
1
1
|
# Openc::JsonSchema
|
2
2
|
|
3
|
+
[](https://badge.fury.io/rb/openc-json_schema)
|
4
|
+
[](https://travis-ci.org/openc/openc-json_schema)
|
5
|
+
[](https://gemnasium.com/openc/openc-json_schema)
|
6
|
+
[](https://coveralls.io/r/openc/openc-json_schema)
|
7
|
+
[](https://codeclimate.com/github/openc/openc-json_schema)
|
8
|
+
|
3
9
|
A wrapper around the json-schema gem to provide better error messages on
|
4
10
|
validation failure.
|
5
11
|
|
6
|
-
##
|
7
|
-
|
8
|
-
Add this line to your application's Gemfile:
|
9
|
-
|
10
|
-
```ruby
|
11
|
-
gem 'openc-json_schema'
|
12
|
-
```
|
13
|
-
|
14
|
-
And then execute:
|
12
|
+
## Releasing a new version
|
15
13
|
|
16
|
-
|
14
|
+
Bump the version in `lib/openc/json_schema/version.rb` according to the [Semantic Versioning](http://semver.org/) convention, then:
|
17
15
|
|
18
|
-
|
16
|
+
git commit lib/openc/json_schema/version.rb -m 'Release new version'
|
17
|
+
rake release # requires Rubygems credentials
|
19
18
|
|
20
|
-
|
19
|
+
Finally, [rebuild the Docker image](https://github.com/openc/morph-docker-ruby#readme).
|
data/Rakefile
CHANGED
@@ -1,2 +1,16 @@
|
|
1
|
-
require
|
1
|
+
require 'bundler'
|
2
|
+
Bundler::GemHelper.install_tasks
|
2
3
|
|
4
|
+
require 'rspec/core/rake_task'
|
5
|
+
RSpec::Core::RakeTask.new(:spec)
|
6
|
+
|
7
|
+
task :default => :spec
|
8
|
+
|
9
|
+
begin
|
10
|
+
require 'yard'
|
11
|
+
YARD::Rake::YardocTask.new
|
12
|
+
rescue LoadError
|
13
|
+
task :yard do
|
14
|
+
abort 'YARD is not available. In order to run yard, you must: gem install yard'
|
15
|
+
end
|
16
|
+
end
|
data/lib/openc/json_schema.rb
CHANGED
@@ -14,59 +14,61 @@ module Openc
|
|
14
14
|
convert_error(extract_error(error, record, validator))
|
15
15
|
end
|
16
16
|
|
17
|
+
private
|
18
|
+
|
19
|
+
# Returns the value of the `oneOf` keyword that is within the given schema
|
20
|
+
# at the given path.
|
21
|
+
#
|
22
|
+
# @param [Hash] schema a schema
|
23
|
+
# @param [Array<String>] path a path, based on a JSON Pointer
|
24
|
+
# @return [Array<Hash>] the value of the `oneOf` keyword
|
25
|
+
def walk_schema(schema, path)
|
26
|
+
if schema.key?('oneOf')
|
27
|
+
schema['oneOf']
|
28
|
+
elsif schema.key?('properties')
|
29
|
+
walk_schema(schema['properties'].fetch(path.shift), path)
|
30
|
+
elsif schema.key?('items')
|
31
|
+
walk_schema(schema['items'], path.drop(1))
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
17
35
|
def extract_error(error, record, validator)
|
18
36
|
if error[:failed_attribute] == 'OneOf'
|
19
37
|
if error[:message].match(/did not match any/)
|
20
|
-
|
21
|
-
|
22
|
-
json_schema = Utils.extract_json_schema(validator)
|
23
|
-
schema = json_schema.schema
|
24
|
-
|
25
|
-
path_elements.each do |element|
|
26
|
-
record = record[element]
|
27
|
-
schema = schema['properties'][element]
|
38
|
+
record = JsonPointer.new(record, error[:fragment][1..-1]).value
|
39
|
+
schema = JSON::Validator.schema_for_uri(error[:schema]).schema
|
28
40
|
|
29
|
-
|
30
|
-
|
31
|
-
json_schema = JSON::Validator.schema_reader.read(schema_uri)
|
32
|
-
schema = json_schema.schema
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
one_of_schemas = schema['oneOf']
|
41
|
+
path = fragment_to_path(error[:fragment]).split('.')
|
42
|
+
one_of = walk_schema(schema, path).each_with_index
|
37
43
|
|
38
|
-
|
44
|
+
# Try to report errors for relevant `oneOf` schemas only.
|
45
|
+
schemas_matching_type = case record
|
39
46
|
when Hash
|
40
|
-
|
47
|
+
one_of.select{|schema, _| schema.key?('properties')}
|
41
48
|
when String
|
42
|
-
|
49
|
+
one_of.select{|schema, _| schema['type'] == 'string' || schema['type'].nil? && schema['properties'].nil?}
|
43
50
|
when Integer
|
44
|
-
|
51
|
+
one_of.select{|schema, _| schema['type'] == 'integer'}
|
45
52
|
when Array
|
46
|
-
|
53
|
+
one_of.select{|schema, _| schema['type'] == 'array'}
|
47
54
|
else
|
48
55
|
raise "Unexpected type: #{record}"
|
49
56
|
end
|
50
57
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
if v['enum'].include?(record[k])
|
64
|
-
return error[:errors][:"oneof_#{ix}"][0]
|
65
|
-
end
|
58
|
+
matches = schemas_matching_type.size
|
59
|
+
|
60
|
+
if matches == 1
|
61
|
+
i = schemas_matching_type[0][1]
|
62
|
+
return error[:errors][:"oneof_#{i}"][0]
|
63
|
+
end
|
64
|
+
|
65
|
+
if matches > 1 && record.is_a?(Hash)
|
66
|
+
schemas_matching_type.each do |schema, i|
|
67
|
+
schema['properties'].each do |key, value|
|
68
|
+
if value['enum'] && value['enum'].include?(record[key])
|
69
|
+
return error[:errors][:"oneof_#{i}"][0]
|
66
70
|
end
|
67
71
|
end
|
68
|
-
else
|
69
|
-
return error
|
70
72
|
end
|
71
73
|
end
|
72
74
|
end
|
@@ -86,12 +88,14 @@ module Openc
|
|
86
88
|
path = fragment_to_path("#{error[:fragment]}/#{missing_property}")
|
87
89
|
type = :missing
|
88
90
|
message = "Missing required property: #{path}"
|
91
|
+
|
89
92
|
when 'AdditionalProperties'
|
90
93
|
match = error[:message].match(/contains additional properties \["(.*)"\] outside of the schema/)
|
91
94
|
additional_property = match[1].split('", "')[0]
|
92
95
|
path = fragment_to_path("#{error[:fragment]}/#{additional_property}")
|
93
96
|
type = :additional
|
94
97
|
message = "Disallowed additional property: #{path}"
|
98
|
+
|
95
99
|
when 'OneOf'
|
96
100
|
if error[:message].match(/did not match any/)
|
97
101
|
type = :one_of_no_matches
|
@@ -100,27 +104,32 @@ module Openc
|
|
100
104
|
type = :one_of_many_matches
|
101
105
|
message = "Multiple possible matches for property: #{path}"
|
102
106
|
end
|
107
|
+
|
103
108
|
when 'AnyOf'
|
104
109
|
type = :any_of_no_matches
|
105
110
|
message = "No match for property: #{path}"
|
111
|
+
|
106
112
|
when 'MinLength'
|
107
113
|
match = error[:message].match(/minimum string length of (\d+) in/)
|
108
114
|
min_length = match[1].to_i
|
109
115
|
type = :too_short
|
110
116
|
message = "Property too short: #{path} (must be at least #{min_length} characters)"
|
111
117
|
extra_params = {:length => min_length}
|
118
|
+
|
112
119
|
when 'MaxLength'
|
113
120
|
match = error[:message].match(/maximum string length of (\d+) in/)
|
114
121
|
max_length = match[1].to_i
|
115
122
|
type = :too_long
|
116
123
|
message = "Property too long: #{path} (must be at most #{max_length} characters)"
|
117
124
|
extra_params = {:length => max_length}
|
125
|
+
|
118
126
|
when 'TypeV4'
|
119
127
|
match = error[:message].match(/the following types?: ([\w\s,]+) in schema/)
|
120
128
|
allowed_types = match[1].split(',').map(&:strip)
|
121
129
|
type = :type_mismatch
|
122
130
|
message = "Property of wrong type: #{path} (must be of type #{allowed_types.join(', ')})"
|
123
131
|
extra_params = {:allowed_types => allowed_types}
|
132
|
+
|
124
133
|
when 'Enum'
|
125
134
|
match = error[:message].match(/the following values: ([\w\s,]+) in schema/)
|
126
135
|
allowed_values = match[1].split(',').map(&:strip)
|
@@ -131,6 +140,7 @@ module Openc
|
|
131
140
|
message = "Property not an allowed value: #{path} (must be one of #{allowed_values.join(', ')})"
|
132
141
|
end
|
133
142
|
extra_params = {:allowed_values => allowed_values}
|
143
|
+
|
134
144
|
else
|
135
145
|
if error[:message].match(/must be of format yyyy-mm-dd/)
|
136
146
|
type = :format_mismatch
|
data/openc-json_schema.gemspec
CHANGED
@@ -1,25 +1,25 @@
|
|
1
|
-
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'openc/json_schema/version'
|
1
|
+
require File.expand_path('../lib/openc/json_schema/version', __FILE__)
|
5
2
|
|
6
|
-
Gem::Specification.new do |
|
7
|
-
|
8
|
-
|
3
|
+
Gem::Specification.new do |gem|
|
4
|
+
gem.name = "openc-json_schema"
|
5
|
+
gem.version = Openc::JsonSchema::VERSION
|
9
6
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
7
|
+
gem.author = "OpenCorporates"
|
8
|
+
gem.email = "info@opencorporates.com"
|
9
|
+
gem.homepage = "https://github.com/openc/openc-json_schema"
|
10
|
+
gem.summary = "Utilities for validating JSON"
|
11
|
+
gem.license = "MIT"
|
14
12
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
13
|
+
gem.files = `git ls-files`.split("\n")
|
14
|
+
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
15
|
+
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
16
|
+
gem.require_paths = ["lib"]
|
19
17
|
|
20
|
-
|
21
|
-
|
22
|
-
spec.add_development_dependency "rspec", "~> 3.0"
|
18
|
+
gem.add_dependency "json-schema", "~> 2.6.0"
|
19
|
+
gem.add_dependency "json-pointer"
|
23
20
|
|
24
|
-
|
21
|
+
gem.add_development_dependency "bundler", "~> 1.7"
|
22
|
+
gem.add_development_dependency "coveralls"
|
23
|
+
gem.add_development_dependency "rake", "~> 10.0"
|
24
|
+
gem.add_development_dependency "rspec", "~> 3.0"
|
25
25
|
end
|
@@ -425,6 +425,20 @@ describe Openc::JsonSchema do
|
|
425
425
|
error = 'Property not of expected format: aaa (must be of format yyyy-mm-dd)'
|
426
426
|
expect([schema, record]).to fail_validation_with(error)
|
427
427
|
end
|
428
|
+
|
429
|
+
specify 'when oneOf is an item in an array' do
|
430
|
+
schema = {
|
431
|
+
'type' => 'array',
|
432
|
+
'items' => {
|
433
|
+
'oneOf' => [{
|
434
|
+
'type' => 'string',
|
435
|
+
}]
|
436
|
+
}
|
437
|
+
}
|
438
|
+
record = [1]
|
439
|
+
error = 'No match for property: 0'
|
440
|
+
expect([schema, record]).to fail_validation_with(error)
|
441
|
+
end
|
428
442
|
end
|
429
443
|
|
430
444
|
describe '.convert_dates' do
|
data/spec/spec_helper.rb
CHANGED
@@ -1,50 +1,33 @@
|
|
1
|
-
require
|
2
|
-
|
1
|
+
require "simplecov"
|
2
|
+
require "coveralls"
|
3
|
+
SimpleCov.formatter = Coveralls::SimpleCov::Formatter
|
4
|
+
SimpleCov.start do
|
5
|
+
add_filter "spec"
|
6
|
+
end
|
3
7
|
|
4
8
|
require 'openc/json_schema'
|
5
9
|
|
6
|
-
def get_schema_path(schema_or_path)
|
7
|
-
case schema_or_path
|
8
|
-
when Hash
|
9
|
-
json_data = schema_or_path.to_json
|
10
|
-
filename = Digest::MD5.hexdigest(json_data) + '.json'
|
11
|
-
schema_path = File.join('spec', 'tmp', filename)
|
12
|
-
File.open(schema_path, 'w') {|f| f.write(json_data)}
|
13
|
-
when String
|
14
|
-
schema_path = schema_or_path
|
15
|
-
else
|
16
|
-
raise
|
17
|
-
end
|
18
|
-
|
19
|
-
schema_path
|
20
|
-
end
|
21
|
-
|
22
10
|
RSpec::Matchers.define(:fail_validation_with) do |expected|
|
23
|
-
match do |
|
24
|
-
schema_or_path, record
|
25
|
-
@
|
26
|
-
expect(@error).to eq(expected)
|
11
|
+
match do |(schema_or_path, record)|
|
12
|
+
@actual = Openc::JsonSchema.validate(schema_or_path, record)[:message]
|
13
|
+
expect(@actual).to eq(expected)
|
27
14
|
end
|
28
15
|
|
29
16
|
failure_message do |actual|
|
30
|
-
"Expected error to be #{expected}, but was #{@
|
17
|
+
"Expected error to be #{expected}, but was #{@actual}"
|
31
18
|
end
|
32
19
|
end
|
33
20
|
|
34
21
|
RSpec::Matchers.define(:be_valid) do
|
35
|
-
match do |
|
36
|
-
schema_or_path, record
|
37
|
-
error = Openc::JsonSchema.validate(get_schema_path(schema_or_path), record)
|
22
|
+
match do |(schema_or_path, record)|
|
23
|
+
error = Openc::JsonSchema.validate(schema_or_path, record)
|
38
24
|
expect(error).to eq(nil)
|
39
25
|
end
|
40
26
|
end
|
41
27
|
|
42
28
|
RSpec::Matchers.define(:convert_dates_to) do |expected|
|
43
|
-
match do |
|
44
|
-
schema_or_path, record
|
45
|
-
schema_path = get_schema_path(schema_or_path)
|
46
|
-
|
47
|
-
converted_record = Openc::JsonSchema.convert_dates(schema_path, record)
|
29
|
+
match do |(schema_or_path, record)|
|
30
|
+
converted_record = Openc::JsonSchema.convert_dates(schema_or_path, record)
|
48
31
|
expect(converted_record).to eq(expected)
|
49
32
|
end
|
50
33
|
end
|
metadata
CHANGED
@@ -1,81 +1,109 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openc-json_schema
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenCorporates
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: json-schema
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.6.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.6.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: json-pointer
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
13
41
|
- !ruby/object:Gem::Dependency
|
14
42
|
name: bundler
|
15
43
|
requirement: !ruby/object:Gem::Requirement
|
16
44
|
requirements:
|
17
|
-
- - ~>
|
45
|
+
- - "~>"
|
18
46
|
- !ruby/object:Gem::Version
|
19
47
|
version: '1.7'
|
20
48
|
type: :development
|
21
49
|
prerelease: false
|
22
50
|
version_requirements: !ruby/object:Gem::Requirement
|
23
51
|
requirements:
|
24
|
-
- - ~>
|
52
|
+
- - "~>"
|
25
53
|
- !ruby/object:Gem::Version
|
26
54
|
version: '1.7'
|
27
55
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
56
|
+
name: coveralls
|
29
57
|
requirement: !ruby/object:Gem::Requirement
|
30
58
|
requirements:
|
31
|
-
- -
|
59
|
+
- - ">="
|
32
60
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
61
|
+
version: '0'
|
34
62
|
type: :development
|
35
63
|
prerelease: false
|
36
64
|
version_requirements: !ruby/object:Gem::Requirement
|
37
65
|
requirements:
|
38
|
-
- -
|
66
|
+
- - ">="
|
39
67
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
68
|
+
version: '0'
|
41
69
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
70
|
+
name: rake
|
43
71
|
requirement: !ruby/object:Gem::Requirement
|
44
72
|
requirements:
|
45
|
-
- - ~>
|
73
|
+
- - "~>"
|
46
74
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
75
|
+
version: '10.0'
|
48
76
|
type: :development
|
49
77
|
prerelease: false
|
50
78
|
version_requirements: !ruby/object:Gem::Requirement
|
51
79
|
requirements:
|
52
|
-
- - ~>
|
80
|
+
- - "~>"
|
53
81
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
82
|
+
version: '10.0'
|
55
83
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
84
|
+
name: rspec
|
57
85
|
requirement: !ruby/object:Gem::Requirement
|
58
86
|
requirements:
|
59
|
-
- -
|
87
|
+
- - "~>"
|
60
88
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
62
|
-
type: :
|
89
|
+
version: '3.0'
|
90
|
+
type: :development
|
63
91
|
prerelease: false
|
64
92
|
version_requirements: !ruby/object:Gem::Requirement
|
65
93
|
requirements:
|
66
|
-
- -
|
94
|
+
- - "~>"
|
67
95
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
96
|
+
version: '3.0'
|
69
97
|
description:
|
70
98
|
email: info@opencorporates.com
|
71
99
|
executables: []
|
72
100
|
extensions: []
|
73
101
|
extra_rdoc_files: []
|
74
102
|
files:
|
75
|
-
- .gitignore
|
103
|
+
- ".gitignore"
|
104
|
+
- ".travis.yml"
|
76
105
|
- Gemfile
|
77
|
-
-
|
78
|
-
- LICENSE.txt
|
106
|
+
- LICENSE
|
79
107
|
- README.md
|
80
108
|
- Rakefile
|
81
109
|
- lib/openc/json_schema.rb
|
@@ -85,7 +113,6 @@ files:
|
|
85
113
|
- lib/openc/json_schema/validator.rb
|
86
114
|
- lib/openc/json_schema/version.rb
|
87
115
|
- openc-json_schema.gemspec
|
88
|
-
- publish.sh
|
89
116
|
- spec/openc_json_schema_spec.rb
|
90
117
|
- spec/schemas/aaa.json
|
91
118
|
- spec/schemas/ccc.json
|
@@ -103,8 +130,7 @@ files:
|
|
103
130
|
- spec/schemas/lll.json
|
104
131
|
- spec/schemas/yyy.json
|
105
132
|
- spec/spec_helper.rb
|
106
|
-
|
107
|
-
homepage:
|
133
|
+
homepage: https://github.com/openc/openc-json_schema
|
108
134
|
licenses:
|
109
135
|
- MIT
|
110
136
|
metadata: {}
|
@@ -114,17 +140,17 @@ require_paths:
|
|
114
140
|
- lib
|
115
141
|
required_ruby_version: !ruby/object:Gem::Requirement
|
116
142
|
requirements:
|
117
|
-
- -
|
143
|
+
- - ">="
|
118
144
|
- !ruby/object:Gem::Version
|
119
145
|
version: '0'
|
120
146
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
147
|
requirements:
|
122
|
-
- -
|
148
|
+
- - ">="
|
123
149
|
- !ruby/object:Gem::Version
|
124
150
|
version: '0'
|
125
151
|
requirements: []
|
126
152
|
rubyforge_project:
|
127
|
-
rubygems_version: 2.
|
153
|
+
rubygems_version: 2.4.5
|
128
154
|
signing_key:
|
129
155
|
specification_version: 4
|
130
156
|
summary: Utilities for validating JSON
|
@@ -146,5 +172,4 @@ test_files:
|
|
146
172
|
- spec/schemas/lll.json
|
147
173
|
- spec/schemas/yyy.json
|
148
174
|
- spec/spec_helper.rb
|
149
|
-
- spec/tmp/.gitkeep
|
150
175
|
has_rdoc:
|
data/Gemfile.lock
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
openc-json_schema (0.0.13)
|
5
|
-
json-schema-openc-fork (= 0.0.1)
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: https://rubygems.org/
|
9
|
-
specs:
|
10
|
-
addressable (2.3.7)
|
11
|
-
diff-lcs (1.2.5)
|
12
|
-
json-schema-openc-fork (0.0.1)
|
13
|
-
addressable (~> 2.3)
|
14
|
-
multi_json (1.10.1)
|
15
|
-
rake (10.4.2)
|
16
|
-
rspec (3.1.0)
|
17
|
-
rspec-core (~> 3.1.0)
|
18
|
-
rspec-expectations (~> 3.1.0)
|
19
|
-
rspec-mocks (~> 3.1.0)
|
20
|
-
rspec-core (3.1.7)
|
21
|
-
rspec-support (~> 3.1.0)
|
22
|
-
rspec-expectations (3.1.2)
|
23
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
24
|
-
rspec-support (~> 3.1.0)
|
25
|
-
rspec-mocks (3.1.3)
|
26
|
-
rspec-support (~> 3.1.0)
|
27
|
-
rspec-support (3.1.2)
|
28
|
-
simplecov (0.7.1)
|
29
|
-
multi_json (~> 1.0)
|
30
|
-
simplecov-html (~> 0.7.1)
|
31
|
-
simplecov-html (0.7.1)
|
32
|
-
|
33
|
-
PLATFORMS
|
34
|
-
ruby
|
35
|
-
|
36
|
-
DEPENDENCIES
|
37
|
-
bundler (~> 1.7)
|
38
|
-
openc-json_schema!
|
39
|
-
rake (~> 10.0)
|
40
|
-
rspec (~> 3.0)
|
41
|
-
simplecov
|
data/publish.sh
DELETED
data/spec/tmp/.gitkeep
DELETED
File without changes
|