rj_schema 0.0.1

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 (299) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +18 -0
  3. data/ext/rj_schema/extconf.rb +7 -0
  4. data/ext/rj_schema/rapidjson/CHANGELOG.md +158 -0
  5. data/ext/rj_schema/rapidjson/CMakeLists.txt +221 -0
  6. data/ext/rj_schema/rapidjson/CMakeModules/FindGTestSrc.cmake +30 -0
  7. data/ext/rj_schema/rapidjson/RapidJSON.pc.in +7 -0
  8. data/ext/rj_schema/rapidjson/RapidJSONConfig.cmake.in +15 -0
  9. data/ext/rj_schema/rapidjson/RapidJSONConfigVersion.cmake.in +10 -0
  10. data/ext/rj_schema/rapidjson/appveyor.yml +41 -0
  11. data/ext/rj_schema/rapidjson/bin/data/glossary.json +22 -0
  12. data/ext/rj_schema/rapidjson/bin/data/menu.json +27 -0
  13. data/ext/rj_schema/rapidjson/bin/data/readme.txt +1 -0
  14. data/ext/rj_schema/rapidjson/bin/data/sample.json +3315 -0
  15. data/ext/rj_schema/rapidjson/bin/data/webapp.json +88 -0
  16. data/ext/rj_schema/rapidjson/bin/data/widget.json +26 -0
  17. data/ext/rj_schema/rapidjson/bin/draft-04/schema +150 -0
  18. data/ext/rj_schema/rapidjson/bin/encodings/utf16be.json +0 -0
  19. data/ext/rj_schema/rapidjson/bin/encodings/utf16bebom.json +0 -0
  20. data/ext/rj_schema/rapidjson/bin/encodings/utf16le.json +0 -0
  21. data/ext/rj_schema/rapidjson/bin/encodings/utf16lebom.json +0 -0
  22. data/ext/rj_schema/rapidjson/bin/encodings/utf32be.json +0 -0
  23. data/ext/rj_schema/rapidjson/bin/encodings/utf32bebom.json +0 -0
  24. data/ext/rj_schema/rapidjson/bin/encodings/utf32le.json +0 -0
  25. data/ext/rj_schema/rapidjson/bin/encodings/utf32lebom.json +0 -0
  26. data/ext/rj_schema/rapidjson/bin/encodings/utf8.json +7 -0
  27. data/ext/rj_schema/rapidjson/bin/encodings/utf8bom.json +7 -0
  28. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail1.json +1 -0
  29. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail10.json +1 -0
  30. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail11.json +1 -0
  31. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail12.json +1 -0
  32. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail13.json +1 -0
  33. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail14.json +1 -0
  34. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail15.json +1 -0
  35. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail16.json +1 -0
  36. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail17.json +1 -0
  37. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail18.json +1 -0
  38. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail19.json +1 -0
  39. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail2.json +1 -0
  40. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail20.json +1 -0
  41. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail21.json +1 -0
  42. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail22.json +1 -0
  43. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail23.json +1 -0
  44. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail24.json +1 -0
  45. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail25.json +1 -0
  46. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail26.json +1 -0
  47. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail27.json +2 -0
  48. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail28.json +2 -0
  49. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail29.json +1 -0
  50. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail3.json +1 -0
  51. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail30.json +1 -0
  52. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail31.json +1 -0
  53. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail32.json +1 -0
  54. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail33.json +1 -0
  55. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail4.json +1 -0
  56. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail5.json +1 -0
  57. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail6.json +1 -0
  58. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail7.json +1 -0
  59. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail8.json +1 -0
  60. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail9.json +1 -0
  61. data/ext/rj_schema/rapidjson/bin/jsonchecker/pass1.json +58 -0
  62. data/ext/rj_schema/rapidjson/bin/jsonchecker/pass2.json +1 -0
  63. data/ext/rj_schema/rapidjson/bin/jsonchecker/pass3.json +6 -0
  64. data/ext/rj_schema/rapidjson/bin/jsonchecker/readme.txt +3 -0
  65. data/ext/rj_schema/rapidjson/bin/jsonschema/LICENSE +19 -0
  66. data/ext/rj_schema/rapidjson/bin/jsonschema/README.md +148 -0
  67. data/ext/rj_schema/rapidjson/bin/jsonschema/bin/jsonschema_suite +283 -0
  68. data/ext/rj_schema/rapidjson/bin/jsonschema/remotes/folder/folderInteger.json +3 -0
  69. data/ext/rj_schema/rapidjson/bin/jsonschema/remotes/integer.json +3 -0
  70. data/ext/rj_schema/rapidjson/bin/jsonschema/remotes/subSchemas.json +8 -0
  71. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/additionalItems.json +82 -0
  72. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/additionalProperties.json +88 -0
  73. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/default.json +49 -0
  74. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/dependencies.json +108 -0
  75. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/disallow.json +80 -0
  76. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/divisibleBy.json +60 -0
  77. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/enum.json +71 -0
  78. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/extends.json +94 -0
  79. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/items.json +46 -0
  80. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/maxItems.json +28 -0
  81. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/maxLength.json +33 -0
  82. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/maximum.json +42 -0
  83. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/minItems.json +28 -0
  84. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/minLength.json +33 -0
  85. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/minimum.json +42 -0
  86. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/optional/bignum.json +107 -0
  87. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/optional/format.json +222 -0
  88. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/optional/jsregex.json +18 -0
  89. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/optional/zeroTerminatedFloats.json +15 -0
  90. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/pattern.json +34 -0
  91. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/patternProperties.json +110 -0
  92. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/properties.json +92 -0
  93. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/ref.json +159 -0
  94. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/refRemote.json +74 -0
  95. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/required.json +53 -0
  96. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/type.json +474 -0
  97. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/uniqueItems.json +79 -0
  98. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/additionalItems.json +82 -0
  99. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/additionalProperties.json +88 -0
  100. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/allOf.json +112 -0
  101. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/anyOf.json +68 -0
  102. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/default.json +49 -0
  103. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/definitions.json +32 -0
  104. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/dependencies.json +113 -0
  105. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/enum.json +72 -0
  106. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/items.json +46 -0
  107. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/maxItems.json +28 -0
  108. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/maxLength.json +33 -0
  109. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/maxProperties.json +28 -0
  110. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/maximum.json +42 -0
  111. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/minItems.json +28 -0
  112. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/minLength.json +33 -0
  113. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/minProperties.json +28 -0
  114. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/minimum.json +42 -0
  115. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/multipleOf.json +60 -0
  116. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/not.json +96 -0
  117. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/oneOf.json +68 -0
  118. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/optional/bignum.json +107 -0
  119. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/optional/format.json +148 -0
  120. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/optional/zeroTerminatedFloats.json +15 -0
  121. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/pattern.json +34 -0
  122. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/patternProperties.json +110 -0
  123. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/properties.json +92 -0
  124. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/ref.json +159 -0
  125. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/refRemote.json +74 -0
  126. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/required.json +39 -0
  127. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/type.json +330 -0
  128. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/uniqueItems.json +79 -0
  129. data/ext/rj_schema/rapidjson/bin/jsonschema/tox.ini +8 -0
  130. data/ext/rj_schema/rapidjson/bin/types/booleans.json +102 -0
  131. data/ext/rj_schema/rapidjson/bin/types/floats.json +102 -0
  132. data/ext/rj_schema/rapidjson/bin/types/guids.json +102 -0
  133. data/ext/rj_schema/rapidjson/bin/types/integers.json +102 -0
  134. data/ext/rj_schema/rapidjson/bin/types/mixed.json +592 -0
  135. data/ext/rj_schema/rapidjson/bin/types/nulls.json +102 -0
  136. data/ext/rj_schema/rapidjson/bin/types/paragraphs.json +102 -0
  137. data/ext/rj_schema/rapidjson/bin/types/readme.txt +1 -0
  138. data/ext/rj_schema/rapidjson/contrib/natvis/LICENSE +45 -0
  139. data/ext/rj_schema/rapidjson/contrib/natvis/README.md +7 -0
  140. data/ext/rj_schema/rapidjson/contrib/natvis/rapidjson.natvis +38 -0
  141. data/ext/rj_schema/rapidjson/doc/CMakeLists.txt +27 -0
  142. data/ext/rj_schema/rapidjson/doc/Doxyfile.in +2369 -0
  143. data/ext/rj_schema/rapidjson/doc/Doxyfile.zh-cn.in +2369 -0
  144. data/ext/rj_schema/rapidjson/doc/diagram/architecture.dot +50 -0
  145. data/ext/rj_schema/rapidjson/doc/diagram/architecture.png +0 -0
  146. data/ext/rj_schema/rapidjson/doc/diagram/insituparsing.dot +65 -0
  147. data/ext/rj_schema/rapidjson/doc/diagram/insituparsing.png +0 -0
  148. data/ext/rj_schema/rapidjson/doc/diagram/iterative-parser-states-diagram.dot +62 -0
  149. data/ext/rj_schema/rapidjson/doc/diagram/iterative-parser-states-diagram.png +0 -0
  150. data/ext/rj_schema/rapidjson/doc/diagram/makefile +8 -0
  151. data/ext/rj_schema/rapidjson/doc/diagram/move1.dot +47 -0
  152. data/ext/rj_schema/rapidjson/doc/diagram/move1.png +0 -0
  153. data/ext/rj_schema/rapidjson/doc/diagram/move2.dot +62 -0
  154. data/ext/rj_schema/rapidjson/doc/diagram/move2.png +0 -0
  155. data/ext/rj_schema/rapidjson/doc/diagram/move3.dot +60 -0
  156. data/ext/rj_schema/rapidjson/doc/diagram/move3.png +0 -0
  157. data/ext/rj_schema/rapidjson/doc/diagram/normalparsing.dot +56 -0
  158. data/ext/rj_schema/rapidjson/doc/diagram/normalparsing.png +0 -0
  159. data/ext/rj_schema/rapidjson/doc/diagram/simpledom.dot +54 -0
  160. data/ext/rj_schema/rapidjson/doc/diagram/simpledom.png +0 -0
  161. data/ext/rj_schema/rapidjson/doc/diagram/tutorial.dot +58 -0
  162. data/ext/rj_schema/rapidjson/doc/diagram/tutorial.png +0 -0
  163. data/ext/rj_schema/rapidjson/doc/diagram/utilityclass.dot +73 -0
  164. data/ext/rj_schema/rapidjson/doc/diagram/utilityclass.png +0 -0
  165. data/ext/rj_schema/rapidjson/doc/dom.md +280 -0
  166. data/ext/rj_schema/rapidjson/doc/dom.zh-cn.md +284 -0
  167. data/ext/rj_schema/rapidjson/doc/encoding.md +146 -0
  168. data/ext/rj_schema/rapidjson/doc/encoding.zh-cn.md +152 -0
  169. data/ext/rj_schema/rapidjson/doc/faq.md +289 -0
  170. data/ext/rj_schema/rapidjson/doc/faq.zh-cn.md +290 -0
  171. data/ext/rj_schema/rapidjson/doc/features.md +104 -0
  172. data/ext/rj_schema/rapidjson/doc/features.zh-cn.md +103 -0
  173. data/ext/rj_schema/rapidjson/doc/internals.md +368 -0
  174. data/ext/rj_schema/rapidjson/doc/internals.zh-cn.md +363 -0
  175. data/ext/rj_schema/rapidjson/doc/logo/rapidjson.png +0 -0
  176. data/ext/rj_schema/rapidjson/doc/logo/rapidjson.svg +119 -0
  177. data/ext/rj_schema/rapidjson/doc/misc/DoxygenLayout.xml +194 -0
  178. data/ext/rj_schema/rapidjson/doc/misc/doxygenextra.css +274 -0
  179. data/ext/rj_schema/rapidjson/doc/misc/footer.html +11 -0
  180. data/ext/rj_schema/rapidjson/doc/misc/header.html +24 -0
  181. data/ext/rj_schema/rapidjson/doc/npm.md +31 -0
  182. data/ext/rj_schema/rapidjson/doc/performance.md +26 -0
  183. data/ext/rj_schema/rapidjson/doc/performance.zh-cn.md +26 -0
  184. data/ext/rj_schema/rapidjson/doc/pointer.md +234 -0
  185. data/ext/rj_schema/rapidjson/doc/pointer.zh-cn.md +234 -0
  186. data/ext/rj_schema/rapidjson/doc/sax.md +509 -0
  187. data/ext/rj_schema/rapidjson/doc/sax.zh-cn.md +487 -0
  188. data/ext/rj_schema/rapidjson/doc/schema.md +505 -0
  189. data/ext/rj_schema/rapidjson/doc/schema.zh-cn.md +237 -0
  190. data/ext/rj_schema/rapidjson/doc/stream.md +426 -0
  191. data/ext/rj_schema/rapidjson/doc/stream.zh-cn.md +426 -0
  192. data/ext/rj_schema/rapidjson/doc/tutorial.md +536 -0
  193. data/ext/rj_schema/rapidjson/doc/tutorial.zh-cn.md +534 -0
  194. data/ext/rj_schema/rapidjson/docker/debian/Dockerfile +8 -0
  195. data/ext/rj_schema/rapidjson/example/CMakeLists.txt +45 -0
  196. data/ext/rj_schema/rapidjson/example/archiver/archiver.cpp +292 -0
  197. data/ext/rj_schema/rapidjson/example/archiver/archiver.h +145 -0
  198. data/ext/rj_schema/rapidjson/example/archiver/archivertest.cpp +287 -0
  199. data/ext/rj_schema/rapidjson/example/capitalize/capitalize.cpp +67 -0
  200. data/ext/rj_schema/rapidjson/example/condense/condense.cpp +32 -0
  201. data/ext/rj_schema/rapidjson/example/filterkey/filterkey.cpp +135 -0
  202. data/ext/rj_schema/rapidjson/example/filterkeydom/filterkeydom.cpp +170 -0
  203. data/ext/rj_schema/rapidjson/example/jsonx/jsonx.cpp +207 -0
  204. data/ext/rj_schema/rapidjson/example/lookaheadparser/lookaheadparser.cpp +350 -0
  205. data/ext/rj_schema/rapidjson/example/messagereader/messagereader.cpp +105 -0
  206. data/ext/rj_schema/rapidjson/example/parsebyparts/parsebyparts.cpp +176 -0
  207. data/ext/rj_schema/rapidjson/example/pretty/pretty.cpp +30 -0
  208. data/ext/rj_schema/rapidjson/example/prettyauto/prettyauto.cpp +56 -0
  209. data/ext/rj_schema/rapidjson/example/schemavalidator/schemavalidator.cpp +78 -0
  210. data/ext/rj_schema/rapidjson/example/serialize/serialize.cpp +173 -0
  211. data/ext/rj_schema/rapidjson/example/simpledom/simpledom.cpp +29 -0
  212. data/ext/rj_schema/rapidjson/example/simplepullreader/simplepullreader.cpp +53 -0
  213. data/ext/rj_schema/rapidjson/example/simplereader/simplereader.cpp +42 -0
  214. data/ext/rj_schema/rapidjson/example/simplewriter/simplewriter.cpp +36 -0
  215. data/ext/rj_schema/rapidjson/example/tutorial/tutorial.cpp +151 -0
  216. data/ext/rj_schema/rapidjson/include/rapidjson/allocators.h +271 -0
  217. data/ext/rj_schema/rapidjson/include/rapidjson/cursorstreamwrapper.h +78 -0
  218. data/ext/rj_schema/rapidjson/include/rapidjson/document.h +2630 -0
  219. data/ext/rj_schema/rapidjson/include/rapidjson/encodedstream.h +299 -0
  220. data/ext/rj_schema/rapidjson/include/rapidjson/encodings.h +716 -0
  221. data/ext/rj_schema/rapidjson/include/rapidjson/error/en.h +74 -0
  222. data/ext/rj_schema/rapidjson/include/rapidjson/error/error.h +161 -0
  223. data/ext/rj_schema/rapidjson/include/rapidjson/filereadstream.h +99 -0
  224. data/ext/rj_schema/rapidjson/include/rapidjson/filewritestream.h +104 -0
  225. data/ext/rj_schema/rapidjson/include/rapidjson/fwd.h +151 -0
  226. data/ext/rj_schema/rapidjson/include/rapidjson/internal/biginteger.h +290 -0
  227. data/ext/rj_schema/rapidjson/include/rapidjson/internal/diyfp.h +258 -0
  228. data/ext/rj_schema/rapidjson/include/rapidjson/internal/dtoa.h +245 -0
  229. data/ext/rj_schema/rapidjson/include/rapidjson/internal/ieee754.h +78 -0
  230. data/ext/rj_schema/rapidjson/include/rapidjson/internal/itoa.h +304 -0
  231. data/ext/rj_schema/rapidjson/include/rapidjson/internal/meta.h +181 -0
  232. data/ext/rj_schema/rapidjson/include/rapidjson/internal/pow10.h +55 -0
  233. data/ext/rj_schema/rapidjson/include/rapidjson/internal/regex.h +734 -0
  234. data/ext/rj_schema/rapidjson/include/rapidjson/internal/stack.h +231 -0
  235. data/ext/rj_schema/rapidjson/include/rapidjson/internal/strfunc.h +69 -0
  236. data/ext/rj_schema/rapidjson/include/rapidjson/internal/strtod.h +269 -0
  237. data/ext/rj_schema/rapidjson/include/rapidjson/internal/swap.h +46 -0
  238. data/ext/rj_schema/rapidjson/include/rapidjson/istreamwrapper.h +115 -0
  239. data/ext/rj_schema/rapidjson/include/rapidjson/memorybuffer.h +70 -0
  240. data/ext/rj_schema/rapidjson/include/rapidjson/memorystream.h +71 -0
  241. data/ext/rj_schema/rapidjson/include/rapidjson/msinttypes/inttypes.h +316 -0
  242. data/ext/rj_schema/rapidjson/include/rapidjson/msinttypes/stdint.h +300 -0
  243. data/ext/rj_schema/rapidjson/include/rapidjson/ostreamwrapper.h +81 -0
  244. data/ext/rj_schema/rapidjson/include/rapidjson/pointer.h +1363 -0
  245. data/ext/rj_schema/rapidjson/include/rapidjson/prettywriter.h +277 -0
  246. data/ext/rj_schema/rapidjson/include/rapidjson/rapidjson.h +628 -0
  247. data/ext/rj_schema/rapidjson/include/rapidjson/reader.h +2222 -0
  248. data/ext/rj_schema/rapidjson/include/rapidjson/schema.h +2479 -0
  249. data/ext/rj_schema/rapidjson/include/rapidjson/stream.h +223 -0
  250. data/ext/rj_schema/rapidjson/include/rapidjson/stringbuffer.h +121 -0
  251. data/ext/rj_schema/rapidjson/include/rapidjson/writer.h +716 -0
  252. data/ext/rj_schema/rapidjson/include_dirs.js +2 -0
  253. data/ext/rj_schema/rapidjson/library.json +15 -0
  254. data/ext/rj_schema/rapidjson/license.txt +57 -0
  255. data/ext/rj_schema/rapidjson/package.json +24 -0
  256. data/ext/rj_schema/rapidjson/rapidjson.autopkg +77 -0
  257. data/ext/rj_schema/rapidjson/readme.md +160 -0
  258. data/ext/rj_schema/rapidjson/readme.zh-cn.md +152 -0
  259. data/ext/rj_schema/rapidjson/test/CMakeLists.txt +20 -0
  260. data/ext/rj_schema/rapidjson/test/perftest/CMakeLists.txt +28 -0
  261. data/ext/rj_schema/rapidjson/test/perftest/misctest.cpp +974 -0
  262. data/ext/rj_schema/rapidjson/test/perftest/perftest.cpp +24 -0
  263. data/ext/rj_schema/rapidjson/test/perftest/perftest.h +185 -0
  264. data/ext/rj_schema/rapidjson/test/perftest/platformtest.cpp +166 -0
  265. data/ext/rj_schema/rapidjson/test/perftest/rapidjsontest.cpp +472 -0
  266. data/ext/rj_schema/rapidjson/test/perftest/schematest.cpp +216 -0
  267. data/ext/rj_schema/rapidjson/test/unittest/CMakeLists.txt +92 -0
  268. data/ext/rj_schema/rapidjson/test/unittest/allocatorstest.cpp +102 -0
  269. data/ext/rj_schema/rapidjson/test/unittest/bigintegertest.cpp +133 -0
  270. data/ext/rj_schema/rapidjson/test/unittest/cursorstreamwrappertest.cpp +115 -0
  271. data/ext/rj_schema/rapidjson/test/unittest/documenttest.cpp +672 -0
  272. data/ext/rj_schema/rapidjson/test/unittest/dtoatest.cpp +98 -0
  273. data/ext/rj_schema/rapidjson/test/unittest/encodedstreamtest.cpp +313 -0
  274. data/ext/rj_schema/rapidjson/test/unittest/encodingstest.cpp +451 -0
  275. data/ext/rj_schema/rapidjson/test/unittest/filestreamtest.cpp +112 -0
  276. data/ext/rj_schema/rapidjson/test/unittest/fwdtest.cpp +230 -0
  277. data/ext/rj_schema/rapidjson/test/unittest/istreamwrappertest.cpp +181 -0
  278. data/ext/rj_schema/rapidjson/test/unittest/itoatest.cpp +160 -0
  279. data/ext/rj_schema/rapidjson/test/unittest/jsoncheckertest.cpp +143 -0
  280. data/ext/rj_schema/rapidjson/test/unittest/namespacetest.cpp +70 -0
  281. data/ext/rj_schema/rapidjson/test/unittest/ostreamwrappertest.cpp +92 -0
  282. data/ext/rj_schema/rapidjson/test/unittest/pointertest.cpp +1529 -0
  283. data/ext/rj_schema/rapidjson/test/unittest/prettywritertest.cpp +344 -0
  284. data/ext/rj_schema/rapidjson/test/unittest/readertest.cpp +1895 -0
  285. data/ext/rj_schema/rapidjson/test/unittest/regextest.cpp +638 -0
  286. data/ext/rj_schema/rapidjson/test/unittest/schematest.cpp +2009 -0
  287. data/ext/rj_schema/rapidjson/test/unittest/simdtest.cpp +219 -0
  288. data/ext/rj_schema/rapidjson/test/unittest/strfunctest.cpp +30 -0
  289. data/ext/rj_schema/rapidjson/test/unittest/stringbuffertest.cpp +192 -0
  290. data/ext/rj_schema/rapidjson/test/unittest/strtodtest.cpp +132 -0
  291. data/ext/rj_schema/rapidjson/test/unittest/unittest.cpp +51 -0
  292. data/ext/rj_schema/rapidjson/test/unittest/unittest.h +140 -0
  293. data/ext/rj_schema/rapidjson/test/unittest/valuetest.cpp +1829 -0
  294. data/ext/rj_schema/rapidjson/test/unittest/writertest.cpp +598 -0
  295. data/ext/rj_schema/rapidjson/test/valgrind.supp +17 -0
  296. data/ext/rj_schema/rapidjson/travis-doxygen.sh +121 -0
  297. data/ext/rj_schema/rj_schema.cpp +136 -0
  298. data/lib/rj_schema.rb +7 -0
  299. metadata +371 -0
@@ -0,0 +1,159 @@
1
+ [
2
+ {
3
+ "description": "root pointer ref",
4
+ "schema": {
5
+ "properties": {
6
+ "foo": {"$ref": "#"}
7
+ },
8
+ "additionalProperties": false
9
+ },
10
+ "tests": [
11
+ {
12
+ "description": "match",
13
+ "data": {"foo": false},
14
+ "valid": true
15
+ },
16
+ {
17
+ "description": "recursive match",
18
+ "data": {"foo": {"foo": false}},
19
+ "valid": true
20
+ },
21
+ {
22
+ "description": "mismatch",
23
+ "data": {"bar": false},
24
+ "valid": false
25
+ },
26
+ {
27
+ "description": "recursive mismatch",
28
+ "data": {"foo": {"bar": false}},
29
+ "valid": false
30
+ }
31
+ ]
32
+ },
33
+ {
34
+ "description": "relative pointer ref to object",
35
+ "schema": {
36
+ "properties": {
37
+ "foo": {"type": "integer"},
38
+ "bar": {"$ref": "#/properties/foo"}
39
+ }
40
+ },
41
+ "tests": [
42
+ {
43
+ "description": "match",
44
+ "data": {"bar": 3},
45
+ "valid": true
46
+ },
47
+ {
48
+ "description": "mismatch",
49
+ "data": {"bar": true},
50
+ "valid": false
51
+ }
52
+ ]
53
+ },
54
+ {
55
+ "description": "relative pointer ref to array",
56
+ "schema": {
57
+ "items": [
58
+ {"type": "integer"},
59
+ {"$ref": "#/items/0"}
60
+ ]
61
+ },
62
+ "tests": [
63
+ {
64
+ "description": "match array",
65
+ "data": [1, 2],
66
+ "valid": true
67
+ },
68
+ {
69
+ "description": "mismatch array",
70
+ "data": [1, "foo"],
71
+ "valid": false
72
+ }
73
+ ]
74
+ },
75
+ {
76
+ "description": "escaped pointer ref",
77
+ "schema": {
78
+ "tilda~field": {"type": "integer"},
79
+ "slash/field": {"type": "integer"},
80
+ "percent%field": {"type": "integer"},
81
+ "properties": {
82
+ "tilda": {"$ref": "#/tilda~0field"},
83
+ "slash": {"$ref": "#/slash~1field"},
84
+ "percent": {"$ref": "#/percent%25field"}
85
+ }
86
+ },
87
+ "tests": [
88
+ {
89
+ "description": "slash invalid",
90
+ "data": {"slash": "aoeu"},
91
+ "valid": false
92
+ },
93
+ {
94
+ "description": "tilda invalid",
95
+ "data": {"tilda": "aoeu"},
96
+ "valid": false
97
+ },
98
+ {
99
+ "description": "percent invalid",
100
+ "data": {"percent": "aoeu"},
101
+ "valid": false
102
+ },
103
+ {
104
+ "description": "slash valid",
105
+ "data": {"slash": 123},
106
+ "valid": true
107
+ },
108
+ {
109
+ "description": "tilda valid",
110
+ "data": {"tilda": 123},
111
+ "valid": true
112
+ },
113
+ {
114
+ "description": "percent valid",
115
+ "data": {"percent": 123},
116
+ "valid": true
117
+ }
118
+ ]
119
+ },
120
+ {
121
+ "description": "nested refs",
122
+ "schema": {
123
+ "definitions": {
124
+ "a": {"type": "integer"},
125
+ "b": {"$ref": "#/definitions/a"},
126
+ "c": {"$ref": "#/definitions/b"}
127
+ },
128
+ "$ref": "#/definitions/c"
129
+ },
130
+ "tests": [
131
+ {
132
+ "description": "nested ref valid",
133
+ "data": 5,
134
+ "valid": true
135
+ },
136
+ {
137
+ "description": "nested ref invalid",
138
+ "data": "a",
139
+ "valid": false
140
+ }
141
+ ]
142
+ },
143
+ {
144
+ "description": "remote ref, containing refs itself",
145
+ "schema": {"$ref": "http://json-schema.org/draft-03/schema#"},
146
+ "tests": [
147
+ {
148
+ "description": "remote ref valid",
149
+ "data": {"items": {"type": "integer"}},
150
+ "valid": true
151
+ },
152
+ {
153
+ "description": "remote ref invalid",
154
+ "data": {"items": {"type": 1}},
155
+ "valid": false
156
+ }
157
+ ]
158
+ }
159
+ ]
@@ -0,0 +1,74 @@
1
+ [
2
+ {
3
+ "description": "remote ref",
4
+ "schema": {"$ref": "http://localhost:1234/integer.json"},
5
+ "tests": [
6
+ {
7
+ "description": "remote ref valid",
8
+ "data": 1,
9
+ "valid": true
10
+ },
11
+ {
12
+ "description": "remote ref invalid",
13
+ "data": "a",
14
+ "valid": false
15
+ }
16
+ ]
17
+ },
18
+ {
19
+ "description": "fragment within remote ref",
20
+ "schema": {"$ref": "http://localhost:1234/subSchemas.json#/integer"},
21
+ "tests": [
22
+ {
23
+ "description": "remote fragment valid",
24
+ "data": 1,
25
+ "valid": true
26
+ },
27
+ {
28
+ "description": "remote fragment invalid",
29
+ "data": "a",
30
+ "valid": false
31
+ }
32
+ ]
33
+ },
34
+ {
35
+ "description": "ref within remote ref",
36
+ "schema": {
37
+ "$ref": "http://localhost:1234/subSchemas.json#/refToInteger"
38
+ },
39
+ "tests": [
40
+ {
41
+ "description": "ref within ref valid",
42
+ "data": 1,
43
+ "valid": true
44
+ },
45
+ {
46
+ "description": "ref within ref invalid",
47
+ "data": "a",
48
+ "valid": false
49
+ }
50
+ ]
51
+ },
52
+ {
53
+ "description": "change resolution scope",
54
+ "schema": {
55
+ "id": "http://localhost:1234/",
56
+ "items": {
57
+ "id": "folder/",
58
+ "items": {"$ref": "folderInteger.json"}
59
+ }
60
+ },
61
+ "tests": [
62
+ {
63
+ "description": "changed scope ref valid",
64
+ "data": [[1]],
65
+ "valid": true
66
+ },
67
+ {
68
+ "description": "changed scope ref invalid",
69
+ "data": [["a"]],
70
+ "valid": false
71
+ }
72
+ ]
73
+ }
74
+ ]
@@ -0,0 +1,53 @@
1
+ [
2
+ {
3
+ "description": "required validation",
4
+ "schema": {
5
+ "properties": {
6
+ "foo": {"required" : true},
7
+ "bar": {}
8
+ }
9
+ },
10
+ "tests": [
11
+ {
12
+ "description": "present required property is valid",
13
+ "data": {"foo": 1},
14
+ "valid": true
15
+ },
16
+ {
17
+ "description": "non-present required property is invalid",
18
+ "data": {"bar": 1},
19
+ "valid": false
20
+ }
21
+ ]
22
+ },
23
+ {
24
+ "description": "required default validation",
25
+ "schema": {
26
+ "properties": {
27
+ "foo": {}
28
+ }
29
+ },
30
+ "tests": [
31
+ {
32
+ "description": "not required by default",
33
+ "data": {},
34
+ "valid": true
35
+ }
36
+ ]
37
+ },
38
+ {
39
+ "description": "required explicitly false validation",
40
+ "schema": {
41
+ "properties": {
42
+ "foo": {"required": false}
43
+ }
44
+ },
45
+ "tests": [
46
+ {
47
+ "description": "not required if required is false",
48
+ "data": {},
49
+ "valid": true
50
+ }
51
+ ]
52
+ }
53
+ ]
@@ -0,0 +1,474 @@
1
+ [
2
+ {
3
+ "description": "integer type matches integers",
4
+ "schema": {"type": "integer"},
5
+ "tests": [
6
+ {
7
+ "description": "an integer is an integer",
8
+ "data": 1,
9
+ "valid": true
10
+ },
11
+ {
12
+ "description": "a float is not an integer",
13
+ "data": 1.1,
14
+ "valid": false
15
+ },
16
+ {
17
+ "description": "a string is not an integer",
18
+ "data": "foo",
19
+ "valid": false
20
+ },
21
+ {
22
+ "description": "an object is not an integer",
23
+ "data": {},
24
+ "valid": false
25
+ },
26
+ {
27
+ "description": "an array is not an integer",
28
+ "data": [],
29
+ "valid": false
30
+ },
31
+ {
32
+ "description": "a boolean is not an integer",
33
+ "data": true,
34
+ "valid": false
35
+ },
36
+ {
37
+ "description": "null is not an integer",
38
+ "data": null,
39
+ "valid": false
40
+ }
41
+ ]
42
+ },
43
+ {
44
+ "description": "number type matches numbers",
45
+ "schema": {"type": "number"},
46
+ "tests": [
47
+ {
48
+ "description": "an integer is a number",
49
+ "data": 1,
50
+ "valid": true
51
+ },
52
+ {
53
+ "description": "a float is a number",
54
+ "data": 1.1,
55
+ "valid": true
56
+ },
57
+ {
58
+ "description": "a string is not a number",
59
+ "data": "foo",
60
+ "valid": false
61
+ },
62
+ {
63
+ "description": "an object is not a number",
64
+ "data": {},
65
+ "valid": false
66
+ },
67
+ {
68
+ "description": "an array is not a number",
69
+ "data": [],
70
+ "valid": false
71
+ },
72
+ {
73
+ "description": "a boolean is not a number",
74
+ "data": true,
75
+ "valid": false
76
+ },
77
+ {
78
+ "description": "null is not a number",
79
+ "data": null,
80
+ "valid": false
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ "description": "string type matches strings",
86
+ "schema": {"type": "string"},
87
+ "tests": [
88
+ {
89
+ "description": "1 is not a string",
90
+ "data": 1,
91
+ "valid": false
92
+ },
93
+ {
94
+ "description": "a float is not a string",
95
+ "data": 1.1,
96
+ "valid": false
97
+ },
98
+ {
99
+ "description": "a string is a string",
100
+ "data": "foo",
101
+ "valid": true
102
+ },
103
+ {
104
+ "description": "an object is not a string",
105
+ "data": {},
106
+ "valid": false
107
+ },
108
+ {
109
+ "description": "an array is not a string",
110
+ "data": [],
111
+ "valid": false
112
+ },
113
+ {
114
+ "description": "a boolean is not a string",
115
+ "data": true,
116
+ "valid": false
117
+ },
118
+ {
119
+ "description": "null is not a string",
120
+ "data": null,
121
+ "valid": false
122
+ }
123
+ ]
124
+ },
125
+ {
126
+ "description": "object type matches objects",
127
+ "schema": {"type": "object"},
128
+ "tests": [
129
+ {
130
+ "description": "an integer is not an object",
131
+ "data": 1,
132
+ "valid": false
133
+ },
134
+ {
135
+ "description": "a float is not an object",
136
+ "data": 1.1,
137
+ "valid": false
138
+ },
139
+ {
140
+ "description": "a string is not an object",
141
+ "data": "foo",
142
+ "valid": false
143
+ },
144
+ {
145
+ "description": "an object is an object",
146
+ "data": {},
147
+ "valid": true
148
+ },
149
+ {
150
+ "description": "an array is not an object",
151
+ "data": [],
152
+ "valid": false
153
+ },
154
+ {
155
+ "description": "a boolean is not an object",
156
+ "data": true,
157
+ "valid": false
158
+ },
159
+ {
160
+ "description": "null is not an object",
161
+ "data": null,
162
+ "valid": false
163
+ }
164
+ ]
165
+ },
166
+ {
167
+ "description": "array type matches arrays",
168
+ "schema": {"type": "array"},
169
+ "tests": [
170
+ {
171
+ "description": "an integer is not an array",
172
+ "data": 1,
173
+ "valid": false
174
+ },
175
+ {
176
+ "description": "a float is not an array",
177
+ "data": 1.1,
178
+ "valid": false
179
+ },
180
+ {
181
+ "description": "a string is not an array",
182
+ "data": "foo",
183
+ "valid": false
184
+ },
185
+ {
186
+ "description": "an object is not an array",
187
+ "data": {},
188
+ "valid": false
189
+ },
190
+ {
191
+ "description": "an array is an array",
192
+ "data": [],
193
+ "valid": true
194
+ },
195
+ {
196
+ "description": "a boolean is not an array",
197
+ "data": true,
198
+ "valid": false
199
+ },
200
+ {
201
+ "description": "null is not an array",
202
+ "data": null,
203
+ "valid": false
204
+ }
205
+ ]
206
+ },
207
+ {
208
+ "description": "boolean type matches booleans",
209
+ "schema": {"type": "boolean"},
210
+ "tests": [
211
+ {
212
+ "description": "an integer is not a boolean",
213
+ "data": 1,
214
+ "valid": false
215
+ },
216
+ {
217
+ "description": "a float is not a boolean",
218
+ "data": 1.1,
219
+ "valid": false
220
+ },
221
+ {
222
+ "description": "a string is not a boolean",
223
+ "data": "foo",
224
+ "valid": false
225
+ },
226
+ {
227
+ "description": "an object is not a boolean",
228
+ "data": {},
229
+ "valid": false
230
+ },
231
+ {
232
+ "description": "an array is not a boolean",
233
+ "data": [],
234
+ "valid": false
235
+ },
236
+ {
237
+ "description": "a boolean is a boolean",
238
+ "data": true,
239
+ "valid": true
240
+ },
241
+ {
242
+ "description": "null is not a boolean",
243
+ "data": null,
244
+ "valid": false
245
+ }
246
+ ]
247
+ },
248
+ {
249
+ "description": "null type matches only the null object",
250
+ "schema": {"type": "null"},
251
+ "tests": [
252
+ {
253
+ "description": "an integer is not null",
254
+ "data": 1,
255
+ "valid": false
256
+ },
257
+ {
258
+ "description": "a float is not null",
259
+ "data": 1.1,
260
+ "valid": false
261
+ },
262
+ {
263
+ "description": "a string is not null",
264
+ "data": "foo",
265
+ "valid": false
266
+ },
267
+ {
268
+ "description": "an object is not null",
269
+ "data": {},
270
+ "valid": false
271
+ },
272
+ {
273
+ "description": "an array is not null",
274
+ "data": [],
275
+ "valid": false
276
+ },
277
+ {
278
+ "description": "a boolean is not null",
279
+ "data": true,
280
+ "valid": false
281
+ },
282
+ {
283
+ "description": "null is null",
284
+ "data": null,
285
+ "valid": true
286
+ }
287
+ ]
288
+ },
289
+ {
290
+ "description": "any type matches any type",
291
+ "schema": {"type": "any"},
292
+ "tests": [
293
+ {
294
+ "description": "any type includes integers",
295
+ "data": 1,
296
+ "valid": true
297
+ },
298
+ {
299
+ "description": "any type includes float",
300
+ "data": 1.1,
301
+ "valid": true
302
+ },
303
+ {
304
+ "description": "any type includes string",
305
+ "data": "foo",
306
+ "valid": true
307
+ },
308
+ {
309
+ "description": "any type includes object",
310
+ "data": {},
311
+ "valid": true
312
+ },
313
+ {
314
+ "description": "any type includes array",
315
+ "data": [],
316
+ "valid": true
317
+ },
318
+ {
319
+ "description": "any type includes boolean",
320
+ "data": true,
321
+ "valid": true
322
+ },
323
+ {
324
+ "description": "any type includes null",
325
+ "data": null,
326
+ "valid": true
327
+ }
328
+ ]
329
+ },
330
+ {
331
+ "description": "multiple types can be specified in an array",
332
+ "schema": {"type": ["integer", "string"]},
333
+ "tests": [
334
+ {
335
+ "description": "an integer is valid",
336
+ "data": 1,
337
+ "valid": true
338
+ },
339
+ {
340
+ "description": "a string is valid",
341
+ "data": "foo",
342
+ "valid": true
343
+ },
344
+ {
345
+ "description": "a float is invalid",
346
+ "data": 1.1,
347
+ "valid": false
348
+ },
349
+ {
350
+ "description": "an object is invalid",
351
+ "data": {},
352
+ "valid": false
353
+ },
354
+ {
355
+ "description": "an array is invalid",
356
+ "data": [],
357
+ "valid": false
358
+ },
359
+ {
360
+ "description": "a boolean is invalid",
361
+ "data": true,
362
+ "valid": false
363
+ },
364
+ {
365
+ "description": "null is invalid",
366
+ "data": null,
367
+ "valid": false
368
+ }
369
+ ]
370
+ },
371
+ {
372
+ "description": "types can include schemas",
373
+ "schema": {
374
+ "type": [
375
+ "array",
376
+ {"type": "object"}
377
+ ]
378
+ },
379
+ "tests": [
380
+ {
381
+ "description": "an integer is invalid",
382
+ "data": 1,
383
+ "valid": false
384
+ },
385
+ {
386
+ "description": "a string is invalid",
387
+ "data": "foo",
388
+ "valid": false
389
+ },
390
+ {
391
+ "description": "a float is invalid",
392
+ "data": 1.1,
393
+ "valid": false
394
+ },
395
+ {
396
+ "description": "an object is valid",
397
+ "data": {},
398
+ "valid": true
399
+ },
400
+ {
401
+ "description": "an array is valid",
402
+ "data": [],
403
+ "valid": true
404
+ },
405
+ {
406
+ "description": "a boolean is invalid",
407
+ "data": true,
408
+ "valid": false
409
+ },
410
+ {
411
+ "description": "null is invalid",
412
+ "data": null,
413
+ "valid": false
414
+ }
415
+ ]
416
+ },
417
+ {
418
+ "description":
419
+ "when types includes a schema it should fully validate the schema",
420
+ "schema": {
421
+ "type": [
422
+ "integer",
423
+ {
424
+ "properties": {
425
+ "foo": {"type": "null"}
426
+ }
427
+ }
428
+ ]
429
+ },
430
+ "tests": [
431
+ {
432
+ "description": "an integer is valid",
433
+ "data": 1,
434
+ "valid": true
435
+ },
436
+ {
437
+ "description": "an object is valid only if it is fully valid",
438
+ "data": {"foo": null},
439
+ "valid": true
440
+ },
441
+ {
442
+ "description": "an object is invalid otherwise",
443
+ "data": {"foo": "bar"},
444
+ "valid": false
445
+ }
446
+ ]
447
+ },
448
+ {
449
+ "description": "types from separate schemas are merged",
450
+ "schema": {
451
+ "type": [
452
+ {"type": ["string"]},
453
+ {"type": ["array", "null"]}
454
+ ]
455
+ },
456
+ "tests": [
457
+ {
458
+ "description": "an integer is invalid",
459
+ "data": 1,
460
+ "valid": false
461
+ },
462
+ {
463
+ "description": "a string is valid",
464
+ "data": "foo",
465
+ "valid": true
466
+ },
467
+ {
468
+ "description": "an array is valid",
469
+ "data": [1, 2, 3],
470
+ "valid": true
471
+ }
472
+ ]
473
+ }
474
+ ]