rj_schema 0.2.5 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/rj_schema/rapidjson/CMakeLists.txt +23 -1
- data/ext/rj_schema/rapidjson/appveyor.yml +49 -1
- data/ext/rj_schema/rapidjson/bin/types/alotofkeys.json +502 -0
- data/ext/rj_schema/rapidjson/bin/unittestschema/address.json +139 -0
- data/ext/rj_schema/rapidjson/bin/unittestschema/allOf_address.json +7 -0
- data/ext/rj_schema/rapidjson/bin/unittestschema/anyOf_address.json +7 -0
- data/ext/rj_schema/rapidjson/bin/unittestschema/idandref.json +69 -0
- data/ext/rj_schema/rapidjson/bin/unittestschema/oneOf_address.json +7 -0
- data/ext/rj_schema/rapidjson/doc/stream.md +7 -7
- data/ext/rj_schema/rapidjson/doc/stream.zh-cn.md +1 -1
- data/ext/rj_schema/rapidjson/doc/tutorial.md +15 -15
- data/ext/rj_schema/rapidjson/example/schemavalidator/schemavalidator.cpp +120 -0
- data/ext/rj_schema/rapidjson/example/traverseaspointer.cpp +39 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/allocators.h +464 -56
- data/ext/rj_schema/rapidjson/include/rapidjson/cursorstreamwrapper.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/document.h +367 -72
- data/ext/rj_schema/rapidjson/include/rapidjson/encodedstream.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/encodings.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/error/en.h +49 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/error/error.h +56 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/filereadstream.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/filewritestream.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/fwd.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/biginteger.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/clzll.h +4 -4
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/diyfp.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/dtoa.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/ieee754.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/itoa.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/meta.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/pow10.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/regex.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/stack.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/strfunc.h +15 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/strtod.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/swap.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/istreamwrapper.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/memorybuffer.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/memorystream.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/ostreamwrapper.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/pointer.h +69 -2
- data/ext/rj_schema/rapidjson/include/rapidjson/prettywriter.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/rapidjson.h +77 -12
- data/ext/rj_schema/rapidjson/include/rapidjson/reader.h +17 -9
- data/ext/rj_schema/rapidjson/include/rapidjson/schema.h +558 -259
- data/ext/rj_schema/rapidjson/include/rapidjson/stream.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/stringbuffer.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/uri.h +466 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/writer.h +3 -3
- data/ext/rj_schema/rapidjson/readme.md +3 -3
- data/ext/rj_schema/rapidjson/readme.zh-cn.md +2 -2
- data/ext/rj_schema/rapidjson/test/perftest/misctest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/perftest/perftest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/perftest/perftest.h +6 -5
- data/ext/rj_schema/rapidjson/test/perftest/platformtest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/perftest/rapidjsontest.cpp +21 -3
- data/ext/rj_schema/rapidjson/test/unittest/CMakeLists.txt +3 -0
- data/ext/rj_schema/rapidjson/test/unittest/allocatorstest.cpp +194 -2
- data/ext/rj_schema/rapidjson/test/unittest/bigintegertest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/clzlltest.cpp +34 -0
- data/ext/rj_schema/rapidjson/test/unittest/cursorstreamwrappertest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/documenttest.cpp +3 -1
- data/ext/rj_schema/rapidjson/test/unittest/dtoatest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/encodedstreamtest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/encodingstest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/filestreamtest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/fwdtest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/istreamwrappertest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/itoatest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/jsoncheckertest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/namespacetest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/ostreamwrappertest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/platformtest.cpp +40 -0
- data/ext/rj_schema/rapidjson/test/unittest/pointertest.cpp +95 -3
- data/ext/rj_schema/rapidjson/test/unittest/prettywritertest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/readertest.cpp +4 -1
- data/ext/rj_schema/rapidjson/test/unittest/regextest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/schematest.cpp +961 -81
- data/ext/rj_schema/rapidjson/test/unittest/simdtest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/strfunctest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/stringbuffertest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/strtodtest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/unittest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/unittest.h +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/uritest.cpp +718 -0
- data/ext/rj_schema/rapidjson/test/unittest/valuetest.cpp +13 -3
- data/ext/rj_schema/rapidjson/test/unittest/writertest.cpp +1 -1
- data/ext/rj_schema/rj_schema.cpp +162 -18
- data/lib/rj_schema.rb +1 -1
- metadata +14 -3
@@ -1,6 +1,6 @@
|
|
1
1
|
// Tencent is pleased to support the open source community by making RapidJSON available.
|
2
2
|
//
|
3
|
-
// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip.
|
3
|
+
// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip.
|
4
4
|
//
|
5
5
|
// Licensed under the MIT License (the "License"); you may not use this file except
|
6
6
|
// in compliance with the License. You may obtain a copy of the License at
|
@@ -1078,9 +1078,9 @@ static void TestArray(T& x, Allocator& allocator) {
|
|
1078
1078
|
}
|
1079
1079
|
|
1080
1080
|
TEST(Value, Array) {
|
1081
|
+
Value::AllocatorType allocator;
|
1081
1082
|
Value x(kArrayType);
|
1082
1083
|
const Value& y = x;
|
1083
|
-
Value::AllocatorType allocator;
|
1084
1084
|
|
1085
1085
|
EXPECT_EQ(kArrayType, x.GetType());
|
1086
1086
|
EXPECT_TRUE(x.IsArray());
|
@@ -1119,6 +1119,16 @@ TEST(Value, Array) {
|
|
1119
1119
|
z.SetArray();
|
1120
1120
|
EXPECT_TRUE(z.IsArray());
|
1121
1121
|
EXPECT_TRUE(z.Empty());
|
1122
|
+
|
1123
|
+
// PR #1503: assign from inner Value
|
1124
|
+
{
|
1125
|
+
CrtAllocator a; // Free() is not a noop
|
1126
|
+
GenericValue<UTF8<>, CrtAllocator> nullValue;
|
1127
|
+
GenericValue<UTF8<>, CrtAllocator> arrayValue(kArrayType);
|
1128
|
+
arrayValue.PushBack(nullValue, a);
|
1129
|
+
arrayValue = arrayValue[0]; // shouldn't crash (use after free)
|
1130
|
+
EXPECT_TRUE(arrayValue.IsNull());
|
1131
|
+
}
|
1122
1132
|
}
|
1123
1133
|
|
1124
1134
|
TEST(Value, ArrayHelper) {
|
@@ -1481,9 +1491,9 @@ static void TestObject(T& x, Allocator& allocator) {
|
|
1481
1491
|
}
|
1482
1492
|
|
1483
1493
|
TEST(Value, Object) {
|
1494
|
+
Value::AllocatorType allocator;
|
1484
1495
|
Value x(kObjectType);
|
1485
1496
|
const Value& y = x; // const version
|
1486
|
-
Value::AllocatorType allocator;
|
1487
1497
|
|
1488
1498
|
EXPECT_EQ(kObjectType, x.GetType());
|
1489
1499
|
EXPECT_TRUE(x.IsObject());
|
@@ -1,6 +1,6 @@
|
|
1
1
|
// Tencent is pleased to support the open source community by making RapidJSON available.
|
2
2
|
//
|
3
|
-
// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip.
|
3
|
+
// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip.
|
4
4
|
//
|
5
5
|
// Licensed under the MIT License (the "License"); you may not use this file except
|
6
6
|
// in compliance with the License. You may obtain a copy of the License at
|
data/ext/rj_schema/rj_schema.cpp
CHANGED
@@ -9,10 +9,11 @@
|
|
9
9
|
#endif
|
10
10
|
|
11
11
|
#include <unordered_map>
|
12
|
+
#include <sstream>
|
12
13
|
#include <ruby.h>
|
13
14
|
#include <ruby/version.h>
|
14
15
|
|
15
|
-
#if (RUBY_API_VERSION_MAJOR > 2 || (RUBY_API_VERSION_MAJOR == 2 && RUBY_API_VERSION_MINOR >= 7)) && defined(__GLIBC__)
|
16
|
+
#if (RUBY_API_VERSION_MAJOR > 2 || (RUBY_API_VERSION_MAJOR == 2 && RUBY_API_VERSION_MINOR >= 7)) && defined(__GLIBC__) && !defined(TRUFFLERUBY)
|
16
17
|
namespace std {
|
17
18
|
static inline void* ruby_nonempty_memcpy(void *dest, const void *src, size_t n) {
|
18
19
|
return ::ruby_nonempty_memcpy(dest, src, n);
|
@@ -25,8 +26,11 @@ namespace std {
|
|
25
26
|
|
26
27
|
#include <rapidjson/schema.h>
|
27
28
|
#include <rapidjson/filereadstream.h>
|
28
|
-
#include <rapidjson/
|
29
|
+
#include <rapidjson/writer.h>
|
30
|
+
#include <rapidjson/error/error.h>
|
31
|
+
#include <rapidjson/error/en.h>
|
29
32
|
|
33
|
+
typedef rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator> ErrorType;
|
30
34
|
typedef std::unordered_map<std::string, VALUE> SchemaInput;
|
31
35
|
typedef std::unordered_map<ID, rapidjson::SchemaDocument> SchemaCollection;
|
32
36
|
struct SchemaManager;
|
@@ -54,7 +58,7 @@ rapidjson::Document parse_document(VALUE arg) {
|
|
54
58
|
rb_funcall(arg, rb_intern("rewind"), 0);
|
55
59
|
arg = str;
|
56
60
|
}
|
57
|
-
else if (RB_TYPE_P(arg,
|
61
|
+
else if (!RB_TYPE_P(arg, T_STRING)) {
|
58
62
|
arg = rb_funcall(arg, rb_intern("to_json"), 0);
|
59
63
|
}
|
60
64
|
|
@@ -93,25 +97,149 @@ const rapidjson::SchemaDocument* SchemaManager::provide(const char* uri, rapidjs
|
|
93
97
|
throw std::invalid_argument(std::string("$ref remote schema not provided: ") + uri);
|
94
98
|
}
|
95
99
|
|
96
|
-
|
100
|
+
static void CreateHumanErrorMessages(std::ostringstream& ss, const ErrorType& errors, size_t depth = 0, const char* context = 0) {
|
101
|
+
auto get_string = [](const ErrorType& val) -> std::string {
|
102
|
+
if (val.IsString())
|
103
|
+
return val.GetString();
|
104
|
+
else if (val.IsDouble())
|
105
|
+
return std::to_string(val.GetDouble());
|
106
|
+
else if (val.IsUint())
|
107
|
+
return std::to_string(val.GetUint());
|
108
|
+
else if (val.IsInt())
|
109
|
+
return std::to_string(val.GetInt());
|
110
|
+
else if (val.IsUint64())
|
111
|
+
return std::to_string(val.GetUint64());
|
112
|
+
else if (val.IsInt64())
|
113
|
+
return std::to_string(val.GetInt64());
|
114
|
+
else if (val.IsBool() && val.GetBool())
|
115
|
+
return "true";
|
116
|
+
else if (val.IsBool())
|
117
|
+
return "false";
|
118
|
+
else if (val.IsFloat())
|
119
|
+
return std::to_string(val.GetFloat());
|
120
|
+
return "";
|
121
|
+
};
|
122
|
+
|
123
|
+
auto handle_error = [&ss, &get_string](const char* errorName, const ErrorType& error, size_t depth, const char* context) {
|
124
|
+
if (!error.ObjectEmpty()) {
|
125
|
+
int code = error["errorCode"].GetInt();
|
126
|
+
std::string message(GetValidateError_En(static_cast<rapidjson::ValidateErrorCode>(code)));
|
127
|
+
|
128
|
+
for (const auto& member : error.GetObject()) {
|
129
|
+
std::string insertName("%");
|
130
|
+
insertName += member.name.GetString();
|
131
|
+
std::size_t insertPos = message.find(insertName);
|
132
|
+
|
133
|
+
if (insertPos != std::string::npos) {
|
134
|
+
std::string insertString("");
|
135
|
+
const ErrorType& insert = member.value;
|
136
|
+
|
137
|
+
if (insert.IsArray()) {
|
138
|
+
for (ErrorType::ConstValueIterator itemsItr = insert.Begin(); itemsItr != insert.End(); ++itemsItr) {
|
139
|
+
if (itemsItr != insert.Begin())
|
140
|
+
insertString += ",";
|
141
|
+
|
142
|
+
insertString += get_string(*itemsItr);
|
143
|
+
}
|
144
|
+
}
|
145
|
+
else {
|
146
|
+
insertString += get_string(insert);
|
147
|
+
}
|
148
|
+
|
149
|
+
message.replace(insertPos, insertName.length(), insertString);
|
150
|
+
}
|
151
|
+
}
|
152
|
+
|
153
|
+
std::string indent(depth * 2, ' ');
|
154
|
+
ss << indent << "Error Name: " << errorName << std::endl;
|
155
|
+
ss << indent << "Message: " << message << std::endl;
|
156
|
+
ss << indent << "Instance: " << error["instanceRef"].GetString() << std::endl;
|
157
|
+
ss << indent << "Schema: " << error["schemaRef"].GetString() << std::endl;
|
158
|
+
if (depth > 0)
|
159
|
+
ss << indent << "Context: " << context << std::endl;
|
160
|
+
ss << std::endl;
|
161
|
+
|
162
|
+
if (error.HasMember("errors")) {
|
163
|
+
depth++;
|
164
|
+
const ErrorType& childErrors = error["errors"];
|
165
|
+
|
166
|
+
if (childErrors.IsArray()) {
|
167
|
+
for (const auto& item : childErrors.GetArray()) {
|
168
|
+
CreateHumanErrorMessages(ss, item, depth, errorName);
|
169
|
+
}
|
170
|
+
}
|
171
|
+
else if (childErrors.IsObject()) {
|
172
|
+
for (const auto& member : childErrors.GetObject()) {
|
173
|
+
CreateHumanErrorMessages(ss, member.value, depth, errorName);
|
174
|
+
}
|
175
|
+
}
|
176
|
+
}
|
177
|
+
}
|
178
|
+
};
|
179
|
+
|
180
|
+
for (const auto& member : errors.GetObject()) {
|
181
|
+
const char* errorName = member.name.GetString();
|
182
|
+
const ErrorType& errorContent = member.value;
|
183
|
+
|
184
|
+
if (errorContent.IsArray()) {
|
185
|
+
for (const auto& item : errorContent.GetArray()) {
|
186
|
+
handle_error(errorName, item, depth, context);
|
187
|
+
}
|
188
|
+
}
|
189
|
+
else if (errorContent.IsObject()) {
|
190
|
+
handle_error(errorName, errorContent, depth, context);
|
191
|
+
}
|
192
|
+
}
|
193
|
+
}
|
194
|
+
|
195
|
+
VALUE perform_validation(VALUE self, VALUE schema_arg, VALUE document_arg, VALUE continue_on_error, VALUE machine_errors, VALUE human_errors) {
|
196
|
+
if (continue_on_error == Qnil)
|
197
|
+
continue_on_error = Qfalse;
|
198
|
+
if (machine_errors == Qnil)
|
199
|
+
machine_errors = Qtrue;
|
200
|
+
if (human_errors == Qnil)
|
201
|
+
human_errors = Qfalse;
|
202
|
+
|
97
203
|
try {
|
98
204
|
SchemaManager* schema_manager;
|
99
205
|
Data_Get_Struct(self, SchemaManager, schema_manager);
|
206
|
+
|
100
207
|
auto document = parse_document(document_arg);
|
101
|
-
auto validate = [
|
208
|
+
auto validate = [&continue_on_error, &machine_errors, &human_errors, &document](const rapidjson::SchemaDocument& schema) -> VALUE {
|
102
209
|
rapidjson::SchemaValidator validator(schema);
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
210
|
+
|
211
|
+
if (continue_on_error == Qtrue)
|
212
|
+
validator.SetValidateFlags(rapidjson::RAPIDJSON_VALIDATE_DEFAULT_FLAGS | rapidjson::kValidateContinueOnErrorFlag);
|
213
|
+
|
214
|
+
document.Accept(validator);
|
215
|
+
|
216
|
+
if (machine_errors == Qfalse && human_errors == Qfalse)
|
217
|
+
return validator.IsValid() ? Qtrue : Qfalse;
|
218
|
+
|
219
|
+
VALUE result = rb_hash_new();
|
220
|
+
|
221
|
+
if (machine_errors == Qtrue) {
|
109
222
|
rapidjson::StringBuffer buffer;
|
110
|
-
rapidjson::
|
223
|
+
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
|
111
224
|
validator.GetError().Accept(writer);
|
112
|
-
|
113
|
-
|
225
|
+
rb_hash_aset(
|
226
|
+
result,
|
227
|
+
ID2SYM(rb_intern("machine_errors")),
|
228
|
+
rb_funcall(rb_const_get(rb_cObject, rb_intern("JSON")), rb_intern("parse"), 1, rb_str_new_cstr(buffer.GetString()))
|
229
|
+
);
|
230
|
+
}
|
231
|
+
|
232
|
+
if (human_errors == Qtrue) {
|
233
|
+
std::ostringstream ss;
|
234
|
+
CreateHumanErrorMessages(ss, validator.GetError());
|
235
|
+
rb_hash_aset(
|
236
|
+
result,
|
237
|
+
ID2SYM(rb_intern("human_errors")),
|
238
|
+
rb_str_new_cstr(ss.str().c_str())
|
239
|
+
);
|
114
240
|
}
|
241
|
+
|
242
|
+
return result;
|
115
243
|
};
|
116
244
|
|
117
245
|
if (SYMBOL_P(schema_arg)) {
|
@@ -135,12 +263,28 @@ VALUE perform_validation(VALUE self, VALUE schema_arg, VALUE document_arg, bool
|
|
135
263
|
}
|
136
264
|
}
|
137
265
|
|
138
|
-
extern "C" VALUE validator_validate(
|
139
|
-
|
266
|
+
extern "C" VALUE validator_validate(int argc, VALUE* argv, VALUE self) {
|
267
|
+
VALUE schema_arg, document_arg, opts;
|
268
|
+
|
269
|
+
rb_scan_args(argc, argv, "2:", &schema_arg, &document_arg, &opts);
|
270
|
+
|
271
|
+
if (NIL_P(opts))
|
272
|
+
opts = rb_hash_new();
|
273
|
+
|
274
|
+
VALUE result = perform_validation(
|
275
|
+
self,
|
276
|
+
schema_arg,
|
277
|
+
document_arg,
|
278
|
+
rb_hash_aref(opts, ID2SYM(rb_intern("continue_on_error"))),
|
279
|
+
rb_hash_aref(opts, ID2SYM(rb_intern("machine_errors"))),
|
280
|
+
rb_hash_aref(opts, ID2SYM(rb_intern("human_errors")))
|
281
|
+
);
|
282
|
+
|
283
|
+
return (result == Qtrue || result == Qfalse) ? rb_hash_new() : result;
|
140
284
|
}
|
141
285
|
|
142
286
|
extern "C" VALUE validator_valid(VALUE self, VALUE schema_arg, VALUE document_arg) {
|
143
|
-
return perform_validation(self, schema_arg, document_arg,
|
287
|
+
return perform_validation(self, schema_arg, document_arg, Qfalse, Qfalse, Qfalse);
|
144
288
|
}
|
145
289
|
|
146
290
|
extern "C" void validator_free(SchemaManager* schema_manager) {
|
@@ -191,6 +335,6 @@ extern "C" void Init_rj_schema(void) {
|
|
191
335
|
|
192
336
|
rb_define_alloc_func(cValidator, validator_alloc);
|
193
337
|
rb_define_method(cValidator, "initialize", reinterpret_cast<VALUE(*)(...)>(validator_initialize), -1);
|
194
|
-
rb_define_method(cValidator, "validate", reinterpret_cast<VALUE(*)(...)>(validator_validate),
|
338
|
+
rb_define_method(cValidator, "validate", reinterpret_cast<VALUE(*)(...)>(validator_validate), -1);
|
195
339
|
rb_define_method(cValidator, "valid?", reinterpret_cast<VALUE(*)(...)>(validator_valid), 2);
|
196
340
|
}
|
data/lib/rj_schema.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rj_schema
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christian Semmler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-07-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake-compiler
|
@@ -231,6 +231,7 @@ files:
|
|
231
231
|
- ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/type.json
|
232
232
|
- ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/uniqueItems.json
|
233
233
|
- ext/rj_schema/rapidjson/bin/jsonschema/tox.ini
|
234
|
+
- ext/rj_schema/rapidjson/bin/types/alotofkeys.json
|
234
235
|
- ext/rj_schema/rapidjson/bin/types/booleans.json
|
235
236
|
- ext/rj_schema/rapidjson/bin/types/floats.json
|
236
237
|
- ext/rj_schema/rapidjson/bin/types/guids.json
|
@@ -239,6 +240,11 @@ files:
|
|
239
240
|
- ext/rj_schema/rapidjson/bin/types/nulls.json
|
240
241
|
- ext/rj_schema/rapidjson/bin/types/paragraphs.json
|
241
242
|
- ext/rj_schema/rapidjson/bin/types/readme.txt
|
243
|
+
- ext/rj_schema/rapidjson/bin/unittestschema/address.json
|
244
|
+
- ext/rj_schema/rapidjson/bin/unittestschema/allOf_address.json
|
245
|
+
- ext/rj_schema/rapidjson/bin/unittestschema/anyOf_address.json
|
246
|
+
- ext/rj_schema/rapidjson/bin/unittestschema/idandref.json
|
247
|
+
- ext/rj_schema/rapidjson/bin/unittestschema/oneOf_address.json
|
242
248
|
- ext/rj_schema/rapidjson/contrib/natvis/LICENSE
|
243
249
|
- ext/rj_schema/rapidjson/contrib/natvis/README.md
|
244
250
|
- ext/rj_schema/rapidjson/contrib/natvis/rapidjson.natvis
|
@@ -317,6 +323,7 @@ files:
|
|
317
323
|
- ext/rj_schema/rapidjson/example/simplereader/simplereader.cpp
|
318
324
|
- ext/rj_schema/rapidjson/example/simplewriter/simplewriter.cpp
|
319
325
|
- ext/rj_schema/rapidjson/example/sortkeys/sortkeys.cpp
|
326
|
+
- ext/rj_schema/rapidjson/example/traverseaspointer.cpp
|
320
327
|
- ext/rj_schema/rapidjson/example/tutorial/tutorial.cpp
|
321
328
|
- ext/rj_schema/rapidjson/include/rapidjson/allocators.h
|
322
329
|
- ext/rj_schema/rapidjson/include/rapidjson/cursorstreamwrapper.h
|
@@ -354,6 +361,7 @@ files:
|
|
354
361
|
- ext/rj_schema/rapidjson/include/rapidjson/schema.h
|
355
362
|
- ext/rj_schema/rapidjson/include/rapidjson/stream.h
|
356
363
|
- ext/rj_schema/rapidjson/include/rapidjson/stringbuffer.h
|
364
|
+
- ext/rj_schema/rapidjson/include/rapidjson/uri.h
|
357
365
|
- ext/rj_schema/rapidjson/include/rapidjson/writer.h
|
358
366
|
- ext/rj_schema/rapidjson/include_dirs.js
|
359
367
|
- ext/rj_schema/rapidjson/library.json
|
@@ -373,6 +381,7 @@ files:
|
|
373
381
|
- ext/rj_schema/rapidjson/test/unittest/CMakeLists.txt
|
374
382
|
- ext/rj_schema/rapidjson/test/unittest/allocatorstest.cpp
|
375
383
|
- ext/rj_schema/rapidjson/test/unittest/bigintegertest.cpp
|
384
|
+
- ext/rj_schema/rapidjson/test/unittest/clzlltest.cpp
|
376
385
|
- ext/rj_schema/rapidjson/test/unittest/cursorstreamwrappertest.cpp
|
377
386
|
- ext/rj_schema/rapidjson/test/unittest/documenttest.cpp
|
378
387
|
- ext/rj_schema/rapidjson/test/unittest/dtoatest.cpp
|
@@ -385,6 +394,7 @@ files:
|
|
385
394
|
- ext/rj_schema/rapidjson/test/unittest/jsoncheckertest.cpp
|
386
395
|
- ext/rj_schema/rapidjson/test/unittest/namespacetest.cpp
|
387
396
|
- ext/rj_schema/rapidjson/test/unittest/ostreamwrappertest.cpp
|
397
|
+
- ext/rj_schema/rapidjson/test/unittest/platformtest.cpp
|
388
398
|
- ext/rj_schema/rapidjson/test/unittest/pointertest.cpp
|
389
399
|
- ext/rj_schema/rapidjson/test/unittest/prettywritertest.cpp
|
390
400
|
- ext/rj_schema/rapidjson/test/unittest/readertest.cpp
|
@@ -396,6 +406,7 @@ files:
|
|
396
406
|
- ext/rj_schema/rapidjson/test/unittest/strtodtest.cpp
|
397
407
|
- ext/rj_schema/rapidjson/test/unittest/unittest.cpp
|
398
408
|
- ext/rj_schema/rapidjson/test/unittest/unittest.h
|
409
|
+
- ext/rj_schema/rapidjson/test/unittest/uritest.cpp
|
399
410
|
- ext/rj_schema/rapidjson/test/unittest/valuetest.cpp
|
400
411
|
- ext/rj_schema/rapidjson/test/unittest/writertest.cpp
|
401
412
|
- ext/rj_schema/rapidjson/test/valgrind.supp
|
@@ -737,7 +748,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
737
748
|
- !ruby/object:Gem::Version
|
738
749
|
version: '0'
|
739
750
|
requirements: []
|
740
|
-
rubygems_version: 3.
|
751
|
+
rubygems_version: 3.2.22
|
741
752
|
signing_key:
|
742
753
|
specification_version: 4
|
743
754
|
summary: JSON schema validation with RapidJSON
|