cloudsmith-api 0.51.37 → 0.52.79

Sign up to get free protection for your applications and to get access to all the features.
Files changed (405) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +3 -3
  3. data/README.md +12 -5
  4. data/build.json +1 -1
  5. data/docs/AlpinePackageUpload.md +63 -0
  6. data/docs/ConanPackageUpload.md +1 -0
  7. data/docs/EntitlementsCreate.md +1 -1
  8. data/docs/EntitlementsPartialUpdate.md +1 -1
  9. data/docs/EntitlementsRefresh.md +1 -1
  10. data/docs/EntitlmentTokenMetric.md +9 -0
  11. data/docs/MavenPackageUpload.md +1 -0
  12. data/docs/MetricsApi.md +83 -0
  13. data/docs/Package.md +2 -0
  14. data/docs/PackageCopy.md +2 -0
  15. data/docs/PackageMove.md +2 -0
  16. data/docs/PackagesApi.md +107 -41
  17. data/docs/PackagesCopy.md +1 -1
  18. data/docs/PackagesMove.md +0 -1
  19. data/docs/PackagesTag.md +10 -0
  20. data/docs/PackagesUploadAlpine.md +1 -0
  21. data/docs/PackagesUploadCargo.md +1 -0
  22. data/docs/PackagesUploadCocoapods.md +1 -0
  23. data/docs/PackagesUploadComposer.md +1 -0
  24. data/docs/PackagesUploadConan.md +3 -0
  25. data/docs/PackagesUploadCran.md +1 -0
  26. data/docs/PackagesUploadDart.md +1 -0
  27. data/docs/PackagesUploadDeb.md +3 -0
  28. data/docs/PackagesUploadDocker.md +1 -0
  29. data/docs/PackagesUploadGo.md +1 -0
  30. data/docs/PackagesUploadHelm.md +1 -0
  31. data/docs/PackagesUploadLuarocks.md +1 -0
  32. data/docs/PackagesUploadMaven.md +1 -0
  33. data/docs/PackagesUploadNpm.md +1 -0
  34. data/docs/PackagesUploadNuget.md +1 -0
  35. data/docs/PackagesUploadPython.md +1 -0
  36. data/docs/PackagesUploadRaw.md +1 -0
  37. data/docs/PackagesUploadRpm.md +1 -0
  38. data/docs/PackagesUploadRuby.md +1 -0
  39. data/docs/PackagesUploadTerraform.md +1 -0
  40. data/docs/PackagesUploadVagrant.md +1 -0
  41. data/docs/PackagesValidateuploadAlpine.md +1 -0
  42. data/docs/PackagesValidateuploadCargo.md +1 -0
  43. data/docs/PackagesValidateuploadCocoapods.md +1 -0
  44. data/docs/PackagesValidateuploadComposer.md +1 -0
  45. data/docs/PackagesValidateuploadConan.md +3 -0
  46. data/docs/PackagesValidateuploadCran.md +1 -0
  47. data/docs/PackagesValidateuploadDart.md +1 -0
  48. data/docs/PackagesValidateuploadDeb.md +3 -0
  49. data/docs/PackagesValidateuploadDocker.md +1 -0
  50. data/docs/PackagesValidateuploadGo.md +1 -0
  51. data/docs/PackagesValidateuploadHelm.md +1 -0
  52. data/docs/PackagesValidateuploadLuarocks.md +1 -0
  53. data/docs/PackagesValidateuploadMaven.md +1 -0
  54. data/docs/PackagesValidateuploadNpm.md +1 -0
  55. data/docs/PackagesValidateuploadNuget.md +1 -0
  56. data/docs/PackagesValidateuploadPython.md +1 -0
  57. data/docs/PackagesValidateuploadRaw.md +1 -0
  58. data/docs/PackagesValidateuploadRpm.md +1 -0
  59. data/docs/PackagesValidateuploadRuby.md +1 -0
  60. data/docs/PackagesValidateuploadTerraform.md +1 -0
  61. data/docs/PackagesValidateuploadVagrant.md +1 -0
  62. data/docs/RawPackageUpload.md +1 -0
  63. data/docs/ReposCreate.md +4 -7
  64. data/docs/ReposPartialUpdate.md +3 -7
  65. data/docs/Repository.md +11 -10
  66. data/docs/RepositoryToken.md +4 -3
  67. data/docs/RepositoryTokenRefresh.md +4 -3
  68. data/docs/RepositoryTokenSyncTokens.md +4 -3
  69. data/docs/RepositoryWebhook.md +1 -0
  70. data/docs/StorageRegion.md +9 -0
  71. data/docs/StorageregionsApi.md +122 -0
  72. data/docs/VagrantPackageUpload.md +1 -0
  73. data/docs/WebhooksCreate.md +1 -0
  74. data/docs/WebhooksPartialUpdate.md +1 -0
  75. data/lib/cloudsmith-api.rb +6 -1
  76. data/lib/cloudsmith-api/api/metrics_api.rb +95 -0
  77. data/lib/cloudsmith-api/api/packages_api.rb +119 -56
  78. data/lib/cloudsmith-api/api/storageregions_api.rb +119 -0
  79. data/lib/cloudsmith-api/models/alpine_package_upload.rb +743 -0
  80. data/lib/cloudsmith-api/models/conan_package_upload.rb +11 -1
  81. data/lib/cloudsmith-api/models/entitlements_create.rb +1 -1
  82. data/lib/cloudsmith-api/models/entitlements_partial_update.rb +1 -1
  83. data/lib/cloudsmith-api/models/entitlements_refresh.rb +1 -1
  84. data/lib/cloudsmith-api/models/entitlment_token_metric.rb +209 -0
  85. data/lib/cloudsmith-api/models/maven_package_upload.rb +11 -1
  86. data/lib/cloudsmith-api/models/package.rb +21 -1
  87. data/lib/cloudsmith-api/models/package_copy.rb +21 -1
  88. data/lib/cloudsmith-api/models/package_move.rb +21 -1
  89. data/lib/cloudsmith-api/models/packages_copy.rb +1 -1
  90. data/lib/cloudsmith-api/models/packages_move.rb +4 -14
  91. data/lib/cloudsmith-api/models/packages_tag.rb +211 -0
  92. data/lib/cloudsmith-api/models/packages_upload_alpine.rb +14 -4
  93. data/lib/cloudsmith-api/models/packages_upload_cargo.rb +14 -4
  94. data/lib/cloudsmith-api/models/packages_upload_cocoapods.rb +14 -4
  95. data/lib/cloudsmith-api/models/packages_upload_composer.rb +14 -4
  96. data/lib/cloudsmith-api/models/packages_upload_conan.rb +34 -4
  97. data/lib/cloudsmith-api/models/packages_upload_cran.rb +14 -4
  98. data/lib/cloudsmith-api/models/packages_upload_dart.rb +14 -4
  99. data/lib/cloudsmith-api/models/packages_upload_deb.rb +34 -4
  100. data/lib/cloudsmith-api/models/packages_upload_docker.rb +14 -4
  101. data/lib/cloudsmith-api/models/packages_upload_go.rb +14 -4
  102. data/lib/cloudsmith-api/models/packages_upload_helm.rb +14 -4
  103. data/lib/cloudsmith-api/models/packages_upload_luarocks.rb +14 -4
  104. data/lib/cloudsmith-api/models/packages_upload_maven.rb +11 -1
  105. data/lib/cloudsmith-api/models/packages_upload_npm.rb +14 -4
  106. data/lib/cloudsmith-api/models/packages_upload_nuget.rb +14 -4
  107. data/lib/cloudsmith-api/models/packages_upload_python.rb +14 -4
  108. data/lib/cloudsmith-api/models/packages_upload_raw.rb +11 -1
  109. data/lib/cloudsmith-api/models/packages_upload_rpm.rb +14 -4
  110. data/lib/cloudsmith-api/models/packages_upload_ruby.rb +14 -4
  111. data/lib/cloudsmith-api/models/packages_upload_terraform.rb +14 -4
  112. data/lib/cloudsmith-api/models/packages_upload_vagrant.rb +11 -1
  113. data/lib/cloudsmith-api/models/packages_validateupload_alpine.rb +14 -4
  114. data/lib/cloudsmith-api/models/packages_validateupload_cargo.rb +14 -4
  115. data/lib/cloudsmith-api/models/packages_validateupload_cocoapods.rb +14 -4
  116. data/lib/cloudsmith-api/models/packages_validateupload_composer.rb +14 -4
  117. data/lib/cloudsmith-api/models/packages_validateupload_conan.rb +34 -4
  118. data/lib/cloudsmith-api/models/packages_validateupload_cran.rb +14 -4
  119. data/lib/cloudsmith-api/models/packages_validateupload_dart.rb +14 -4
  120. data/lib/cloudsmith-api/models/packages_validateupload_deb.rb +34 -4
  121. data/lib/cloudsmith-api/models/packages_validateupload_docker.rb +14 -4
  122. data/lib/cloudsmith-api/models/packages_validateupload_go.rb +14 -4
  123. data/lib/cloudsmith-api/models/packages_validateupload_helm.rb +14 -4
  124. data/lib/cloudsmith-api/models/packages_validateupload_luarocks.rb +14 -4
  125. data/lib/cloudsmith-api/models/packages_validateupload_maven.rb +11 -1
  126. data/lib/cloudsmith-api/models/packages_validateupload_npm.rb +14 -4
  127. data/lib/cloudsmith-api/models/packages_validateupload_nuget.rb +14 -4
  128. data/lib/cloudsmith-api/models/packages_validateupload_python.rb +14 -4
  129. data/lib/cloudsmith-api/models/packages_validateupload_raw.rb +11 -1
  130. data/lib/cloudsmith-api/models/packages_validateupload_rpm.rb +14 -4
  131. data/lib/cloudsmith-api/models/packages_validateupload_ruby.rb +14 -4
  132. data/lib/cloudsmith-api/models/packages_validateupload_terraform.rb +14 -4
  133. data/lib/cloudsmith-api/models/packages_validateupload_vagrant.rb +11 -1
  134. data/lib/cloudsmith-api/models/raw_package_upload.rb +11 -1
  135. data/lib/cloudsmith-api/models/repos_create.rb +17 -57
  136. data/lib/cloudsmith-api/models/repos_partial_update.rb +4 -44
  137. data/lib/cloudsmith-api/models/repository.rb +24 -24
  138. data/lib/cloudsmith-api/models/repository_token.rb +14 -4
  139. data/lib/cloudsmith-api/models/repository_token_refresh.rb +14 -4
  140. data/lib/cloudsmith-api/models/repository_token_sync_tokens.rb +14 -4
  141. data/lib/cloudsmith-api/models/repository_webhook.rb +11 -1
  142. data/lib/cloudsmith-api/models/{packages_resync.rb → storage_region.rb} +29 -9
  143. data/lib/cloudsmith-api/models/vagrant_package_upload.rb +11 -1
  144. data/lib/cloudsmith-api/models/webhooks_create.rb +11 -1
  145. data/lib/cloudsmith-api/models/webhooks_partial_update.rb +11 -1
  146. data/lib/cloudsmith-api/version.rb +1 -1
  147. data/spec/api/metrics_api_spec.rb +53 -0
  148. data/spec/api/packages_api_spec.rb +32 -18
  149. data/spec/api/storageregions_api_spec.rb +58 -0
  150. data/spec/models/alpine_package_upload_spec.rb +372 -0
  151. data/spec/models/conan_package_upload_spec.rb +6 -0
  152. data/spec/models/entitlment_token_metric_spec.rb +48 -0
  153. data/spec/models/maven_package_upload_spec.rb +6 -0
  154. data/spec/models/package_copy_spec.rb +12 -0
  155. data/spec/models/package_move_spec.rb +12 -0
  156. data/spec/models/package_spec.rb +12 -0
  157. data/spec/models/packages_move_spec.rb +0 -6
  158. data/spec/models/packages_tag_spec.rb +54 -0
  159. data/spec/models/packages_upload_alpine_spec.rb +6 -0
  160. data/spec/models/packages_upload_cargo_spec.rb +6 -0
  161. data/spec/models/packages_upload_cocoapods_spec.rb +6 -0
  162. data/spec/models/packages_upload_composer_spec.rb +6 -0
  163. data/spec/models/packages_upload_conan_spec.rb +18 -0
  164. data/spec/models/packages_upload_cran_spec.rb +6 -0
  165. data/spec/models/packages_upload_dart_spec.rb +6 -0
  166. data/spec/models/packages_upload_deb_spec.rb +18 -0
  167. data/spec/models/packages_upload_docker_spec.rb +6 -0
  168. data/spec/models/packages_upload_go_spec.rb +6 -0
  169. data/spec/models/packages_upload_helm_spec.rb +6 -0
  170. data/spec/models/packages_upload_luarocks_spec.rb +6 -0
  171. data/spec/models/packages_upload_maven_spec.rb +6 -0
  172. data/spec/models/packages_upload_npm_spec.rb +6 -0
  173. data/spec/models/packages_upload_nuget_spec.rb +6 -0
  174. data/spec/models/packages_upload_python_spec.rb +6 -0
  175. data/spec/models/packages_upload_raw_spec.rb +6 -0
  176. data/spec/models/packages_upload_rpm_spec.rb +6 -0
  177. data/spec/models/packages_upload_ruby_spec.rb +6 -0
  178. data/spec/models/packages_upload_terraform_spec.rb +6 -0
  179. data/spec/models/packages_upload_vagrant_spec.rb +6 -0
  180. data/spec/models/packages_validateupload_alpine_spec.rb +6 -0
  181. data/spec/models/packages_validateupload_cargo_spec.rb +6 -0
  182. data/spec/models/packages_validateupload_cocoapods_spec.rb +6 -0
  183. data/spec/models/packages_validateupload_composer_spec.rb +6 -0
  184. data/spec/models/packages_validateupload_conan_spec.rb +18 -0
  185. data/spec/models/packages_validateupload_cran_spec.rb +6 -0
  186. data/spec/models/packages_validateupload_dart_spec.rb +6 -0
  187. data/spec/models/packages_validateupload_deb_spec.rb +18 -0
  188. data/spec/models/packages_validateupload_docker_spec.rb +6 -0
  189. data/spec/models/packages_validateupload_go_spec.rb +6 -0
  190. data/spec/models/packages_validateupload_helm_spec.rb +6 -0
  191. data/spec/models/packages_validateupload_luarocks_spec.rb +6 -0
  192. data/spec/models/packages_validateupload_maven_spec.rb +6 -0
  193. data/spec/models/packages_validateupload_npm_spec.rb +6 -0
  194. data/spec/models/packages_validateupload_nuget_spec.rb +6 -0
  195. data/spec/models/packages_validateupload_python_spec.rb +6 -0
  196. data/spec/models/packages_validateupload_raw_spec.rb +6 -0
  197. data/spec/models/packages_validateupload_rpm_spec.rb +6 -0
  198. data/spec/models/packages_validateupload_ruby_spec.rb +6 -0
  199. data/spec/models/packages_validateupload_terraform_spec.rb +6 -0
  200. data/spec/models/packages_validateupload_vagrant_spec.rb +6 -0
  201. data/spec/models/raw_package_upload_spec.rb +6 -0
  202. data/spec/models/repos_create_spec.rb +3 -21
  203. data/spec/models/repos_partial_update_spec.rb +0 -24
  204. data/spec/models/repository_spec.rb +6 -0
  205. data/spec/models/repository_token_refresh_spec.rb +6 -0
  206. data/spec/models/repository_token_spec.rb +6 -0
  207. data/spec/models/repository_token_sync_tokens_spec.rb +6 -0
  208. data/spec/models/repository_webhook_spec.rb +6 -0
  209. data/spec/models/{packages_resync_spec.rb → storage_region_spec.rb} +13 -7
  210. data/spec/models/vagrant_package_upload_spec.rb +6 -0
  211. data/spec/models/webhooks_create_spec.rb +6 -0
  212. data/spec/models/webhooks_partial_update_spec.rb +6 -0
  213. data/vendor/bundle/ruby/2.6.0/cache/diff-lcs-1.4.4.gem +0 -0
  214. data/vendor/bundle/ruby/2.6.0/cache/json-2.3.1.gem +0 -0
  215. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/autotest-fsevent-0.2.17/gem_make.out +1 -1
  216. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.13.1/gem_make.out +2 -2
  217. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/{json-2.3.0 → json-2.3.1}/gem.build_complete +0 -0
  218. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/{json-2.3.0 → json-2.3.1}/gem_make.out +5 -5
  219. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.3.1/json/ext/generator.so +0 -0
  220. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.3.1/json/ext/parser.so +0 -0
  221. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/{json-2.3.0 → json-2.3.1}/mkmf.log +0 -0
  222. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/.rspec +0 -0
  223. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/Code-of-Conduct.md +0 -0
  224. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.4.4/Contributing.md +118 -0
  225. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.4.4/History.md +319 -0
  226. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/License.md +0 -0
  227. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/Manifest.txt +8 -0
  228. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/README.rdoc +10 -10
  229. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/Rakefile +39 -22
  230. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.4.4/autotest/discover.rb +3 -0
  231. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/bin/htmldiff +7 -4
  232. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/bin/ldiff +4 -1
  233. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/docs/COPYING.txt +0 -0
  234. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/docs/artistic.txt +0 -0
  235. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.4.4/lib/diff-lcs.rb +3 -0
  236. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/lib/diff/lcs.rb +184 -170
  237. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/lib/diff/lcs/array.rb +1 -1
  238. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.4.4/lib/diff/lcs/backports.rb +9 -0
  239. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/lib/diff/lcs/block.rb +1 -1
  240. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/lib/diff/lcs/callbacks.rb +15 -12
  241. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/lib/diff/lcs/change.rb +30 -37
  242. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/lib/diff/lcs/htmldiff.rb +17 -16
  243. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/lib/diff/lcs/hunk.rb +156 -74
  244. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/lib/diff/lcs/internals.rb +36 -39
  245. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/lib/diff/lcs/ldiff.rb +46 -42
  246. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/lib/diff/lcs/string.rb +1 -1
  247. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/spec/change_spec.rb +31 -7
  248. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3/spec/ldiff_spec.rb → diff-lcs-1.4.4/spec/diff_spec.rb} +15 -11
  249. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.4.4/spec/fixtures/aX +1 -0
  250. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.4.4/spec/fixtures/bXaX +1 -0
  251. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/spec/fixtures/ds1.csv +0 -0
  252. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/spec/fixtures/ds2.csv +0 -0
  253. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff +4 -0
  254. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-c +7 -0
  255. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-e +3 -0
  256. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-f +3 -0
  257. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-u +5 -0
  258. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.4.4/spec/hunk_spec.rb +83 -0
  259. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.4.4/spec/issues_spec.rb +154 -0
  260. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/spec/lcs_spec.rb +10 -10
  261. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.4.4/spec/ldiff_spec.rb +87 -0
  262. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/spec/patch_spec.rb +93 -99
  263. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.4.4/spec/sdiff_spec.rb +214 -0
  264. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/spec/spec_helper.rb +118 -64
  265. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.4.4/spec/traverse_balanced_spec.rb +310 -0
  266. data/vendor/bundle/ruby/2.6.0/gems/{diff-lcs-1.3 → diff-lcs-1.4.4}/spec/traverse_sequences_spec.rb +28 -28
  267. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.13.1/ext/ffi_c/Makefile +3 -3
  268. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/.gitignore +0 -0
  269. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/.travis.yml +2 -0
  270. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/CHANGES.md +33 -0
  271. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/Gemfile +0 -0
  272. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/README-json-jruby.md +0 -0
  273. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/README.md +16 -0
  274. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/Rakefile +8 -87
  275. data/vendor/bundle/ruby/2.6.0/gems/json-2.3.1/VERSION +1 -0
  276. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/diagrams/.keep +0 -0
  277. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/ext/json/ext/fbuffer/fbuffer.h +0 -0
  278. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/ext/json/ext/generator/.sitearchdir.-.json.-.ext.time +0 -0
  279. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/ext/json/ext/generator/depend +0 -0
  280. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/ext/json/ext/generator/extconf.rb +0 -0
  281. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/ext/json/ext/generator/generator.c +71 -1
  282. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/ext/json/ext/generator/generator.h +0 -0
  283. data/vendor/bundle/ruby/2.6.0/gems/json-2.3.1/ext/json/ext/generator/generator.so +0 -0
  284. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/ext/json/ext/parser/.sitearchdir.-.json.-.ext.time +0 -0
  285. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/ext/json/ext/parser/depend +0 -0
  286. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/ext/json/ext/parser/extconf.rb +0 -0
  287. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/ext/json/ext/parser/parser.c +71 -70
  288. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/ext/json/ext/parser/parser.h +0 -0
  289. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/ext/json/ext/parser/parser.rl +1 -0
  290. data/vendor/bundle/ruby/2.6.0/gems/json-2.3.1/ext/json/ext/parser/parser.so +0 -0
  291. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/ext/json/extconf.rb +0 -0
  292. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/install.rb +0 -0
  293. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/java/src/json/ext/ByteListTranscoder.java +0 -0
  294. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/java/src/json/ext/Generator.java +0 -0
  295. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/java/src/json/ext/GeneratorMethods.java +0 -0
  296. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/java/src/json/ext/GeneratorService.java +0 -0
  297. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/java/src/json/ext/GeneratorState.java +0 -0
  298. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/java/src/json/ext/OptionsReader.java +0 -0
  299. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/java/src/json/ext/Parser.java +0 -0
  300. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/java/src/json/ext/Parser.rl +0 -0
  301. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/java/src/json/ext/ParserService.java +0 -0
  302. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/java/src/json/ext/RuntimeInfo.java +0 -0
  303. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/java/src/json/ext/StringDecoder.java +0 -0
  304. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/java/src/json/ext/StringEncoder.java +0 -0
  305. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/java/src/json/ext/Utils.java +0 -0
  306. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/json-java.gemspec +3 -3
  307. data/vendor/bundle/ruby/2.6.0/gems/json-2.3.1/json.gemspec +139 -0
  308. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/json_pure.gemspec +8 -13
  309. data/vendor/bundle/ruby/2.6.0/gems/json-2.3.1/lib/json.rb +412 -0
  310. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/add/bigdecimal.rb +0 -0
  311. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/add/complex.rb +0 -0
  312. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/add/core.rb +0 -0
  313. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/add/date.rb +0 -0
  314. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/add/date_time.rb +0 -0
  315. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/add/exception.rb +0 -0
  316. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/add/ostruct.rb +0 -0
  317. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/add/range.rb +0 -0
  318. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/add/rational.rb +0 -0
  319. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/add/regexp.rb +0 -0
  320. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/add/set.rb +0 -0
  321. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/add/struct.rb +0 -0
  322. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/add/symbol.rb +0 -0
  323. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/add/time.rb +0 -0
  324. data/vendor/bundle/ruby/2.6.0/gems/json-2.3.1/lib/json/common.rb +691 -0
  325. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/ext.rb +0 -0
  326. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/ext/.keep +0 -0
  327. data/vendor/bundle/ruby/2.6.0/gems/json-2.3.1/lib/json/ext/generator.so +0 -0
  328. data/vendor/bundle/ruby/2.6.0/gems/json-2.3.1/lib/json/ext/parser.so +0 -0
  329. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/generic_object.rb +0 -0
  330. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/pure.rb +0 -0
  331. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/pure/generator.rb +1 -1
  332. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/pure/parser.rb +2 -2
  333. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/lib/json/version.rb +1 -1
  334. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/references/rfc7159.txt +0 -0
  335. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail10.json +0 -0
  336. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail11.json +0 -0
  337. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail12.json +0 -0
  338. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail13.json +0 -0
  339. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail14.json +0 -0
  340. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail18.json +0 -0
  341. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail19.json +0 -0
  342. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail2.json +0 -0
  343. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail20.json +0 -0
  344. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail21.json +0 -0
  345. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail22.json +0 -0
  346. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail23.json +0 -0
  347. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail24.json +0 -0
  348. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail25.json +0 -0
  349. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail27.json +0 -0
  350. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail28.json +0 -0
  351. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail3.json +0 -0
  352. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail4.json +0 -0
  353. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail5.json +0 -0
  354. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail6.json +0 -0
  355. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail7.json +0 -0
  356. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail8.json +0 -0
  357. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/fail9.json +0 -0
  358. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/obsolete_fail1.json +0 -0
  359. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/pass1.json +0 -0
  360. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/pass15.json +0 -0
  361. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/pass16.json +0 -0
  362. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/pass17.json +0 -0
  363. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/pass2.json +0 -0
  364. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/pass26.json +0 -0
  365. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/fixtures/pass3.json +0 -0
  366. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/json_addition_test.rb +0 -0
  367. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/json_common_interface_test.rb +0 -0
  368. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/json_encoding_test.rb +0 -0
  369. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/json_ext_parser_test.rb +0 -0
  370. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/json_fixtures_test.rb +6 -1
  371. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/json_generator_test.rb +0 -0
  372. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/json_generic_object_test.rb +0 -0
  373. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/json_parser_test.rb +0 -0
  374. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/json_string_matching_test.rb +0 -0
  375. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tests/test_helper.rb +0 -0
  376. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tools/diff.sh +0 -0
  377. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tools/fuzz.rb +0 -0
  378. data/vendor/bundle/ruby/2.6.0/gems/{json-2.3.0 → json-2.3.1}/tools/server.rb +0 -0
  379. data/vendor/bundle/ruby/2.6.0/specifications/{diff-lcs-1.3.gemspec → diff-lcs-1.4.4.gemspec} +11 -13
  380. data/vendor/bundle/ruby/2.6.0/specifications/{json-2.3.0.gemspec → json-2.3.1.gemspec} +0 -0
  381. data/vendor/bundle/ruby/2.6.0/specifications/sys-uname-1.2.1.gemspec +1 -1
  382. metadata +277 -250
  383. data/docs/PackagesResync.md +0 -8
  384. data/vendor/bundle/ruby/2.6.0/cache/diff-lcs-1.3.gem +0 -0
  385. data/vendor/bundle/ruby/2.6.0/cache/json-2.3.0.gem +0 -0
  386. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.3.0/json/ext/generator.so +0 -0
  387. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.3.0/json/ext/parser.so +0 -0
  388. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.3/Contributing.md +0 -83
  389. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.3/History.md +0 -220
  390. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.3/autotest/discover.rb +0 -1
  391. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff-lcs.rb +0 -3
  392. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.3/spec/diff_spec.rb +0 -47
  393. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.3/spec/hunk_spec.rb +0 -72
  394. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.3/spec/issues_spec.rb +0 -49
  395. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.3/spec/sdiff_spec.rb +0 -214
  396. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.3/spec/traverse_balanced_spec.rb +0 -310
  397. data/vendor/bundle/ruby/2.6.0/gems/json-2.3.0/LICENSE +0 -56
  398. data/vendor/bundle/ruby/2.6.0/gems/json-2.3.0/VERSION +0 -1
  399. data/vendor/bundle/ruby/2.6.0/gems/json-2.3.0/ext/json/ext/generator/generator.so +0 -0
  400. data/vendor/bundle/ruby/2.6.0/gems/json-2.3.0/ext/json/ext/parser/parser.so +0 -0
  401. data/vendor/bundle/ruby/2.6.0/gems/json-2.3.0/json.gemspec +0 -0
  402. data/vendor/bundle/ruby/2.6.0/gems/json-2.3.0/lib/json.rb +0 -63
  403. data/vendor/bundle/ruby/2.6.0/gems/json-2.3.0/lib/json/common.rb +0 -456
  404. data/vendor/bundle/ruby/2.6.0/gems/json-2.3.0/lib/json/ext/generator.so +0 -0
  405. data/vendor/bundle/ruby/2.6.0/gems/json-2.3.0/lib/json/ext/parser.so +0 -0
@@ -138,6 +138,7 @@ static ID i_json_creatable_p, i_json_create, i_create_id, i_create_additions,
138
138
  fhold; fbreak;
139
139
  } else {
140
140
  if (NIL_P(json->object_class)) {
141
+ OBJ_FREEZE(last_name);
141
142
  rb_hash_aset(*result, last_name, v);
142
143
  } else {
143
144
  rb_funcall(*result, i_aset, 2, last_name, v);
@@ -19,14 +19,14 @@ spec = Gem::Specification.new do |s|
19
19
 
20
20
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
21
21
  s.add_development_dependency(%q<rake>, [">= 0"])
22
- s.add_development_dependency(%q<test-unit>, ["~> 2.0"])
22
+ s.add_development_dependency(%q<test-unit>, [">= 2.0", "< 4.0"])
23
23
  else
24
24
  s.add_dependency(%q<rake>, [">= 0"])
25
- s.add_dependency(%q<test-unit>, ["~> 2.0"])
25
+ s.add_dependency(%q<test-unit>, [">= 2.0", "< 4.0"])
26
26
  end
27
27
  else
28
28
  s.add_dependency(%q<rake>, [">= 0"])
29
- s.add_dependency(%q<test-unit>, ["~> 2.0"])
29
+ s.add_dependency(%q<test-unit>, [">= 2.0", "< 4.0"])
30
30
  end
31
31
  end
32
32
 
@@ -0,0 +1,139 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = "json"
5
+ s.version = File.read('VERSION').chomp
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.require_paths = ["lib"]
9
+ s.authors = ["Florian Frank"]
10
+ s.description = "This is a JSON implementation as a Ruby extension in C."
11
+ s.email = "flori@ping.de"
12
+ s.extensions = ["ext/json/ext/generator/extconf.rb", "ext/json/ext/parser/extconf.rb", "ext/json/extconf.rb"]
13
+ s.extra_rdoc_files = ["README.md"]
14
+ s.files = [
15
+ ".gitignore",
16
+ ".travis.yml",
17
+ "CHANGES.md",
18
+ "Gemfile",
19
+ "README-json-jruby.md",
20
+ "README.md",
21
+ "Rakefile",
22
+ "VERSION",
23
+ "diagrams/.keep",
24
+ "ext/json/ext/fbuffer/fbuffer.h",
25
+ "ext/json/ext/generator/depend",
26
+ "ext/json/ext/generator/extconf.rb",
27
+ "ext/json/ext/generator/generator.c",
28
+ "ext/json/ext/generator/generator.h",
29
+ "ext/json/ext/parser/depend",
30
+ "ext/json/ext/parser/extconf.rb",
31
+ "ext/json/ext/parser/parser.c",
32
+ "ext/json/ext/parser/parser.h",
33
+ "ext/json/ext/parser/parser.rl",
34
+ "ext/json/extconf.rb",
35
+ "install.rb",
36
+ "java/src/json/ext/ByteListTranscoder.java",
37
+ "java/src/json/ext/Generator.java",
38
+ "java/src/json/ext/GeneratorMethods.java",
39
+ "java/src/json/ext/GeneratorService.java",
40
+ "java/src/json/ext/GeneratorState.java",
41
+ "java/src/json/ext/OptionsReader.java",
42
+ "java/src/json/ext/Parser.java",
43
+ "java/src/json/ext/Parser.rl",
44
+ "java/src/json/ext/ParserService.java",
45
+ "java/src/json/ext/RuntimeInfo.java",
46
+ "java/src/json/ext/StringDecoder.java",
47
+ "java/src/json/ext/StringEncoder.java",
48
+ "java/src/json/ext/Utils.java",
49
+ "json-java.gemspec",
50
+ "json.gemspec",
51
+ "json_pure.gemspec",
52
+ "lib/json.rb",
53
+ "lib/json/add/bigdecimal.rb",
54
+ "lib/json/add/complex.rb",
55
+ "lib/json/add/core.rb",
56
+ "lib/json/add/date.rb",
57
+ "lib/json/add/date_time.rb",
58
+ "lib/json/add/exception.rb",
59
+ "lib/json/add/ostruct.rb",
60
+ "lib/json/add/range.rb",
61
+ "lib/json/add/rational.rb",
62
+ "lib/json/add/regexp.rb",
63
+ "lib/json/add/set.rb",
64
+ "lib/json/add/struct.rb",
65
+ "lib/json/add/symbol.rb",
66
+ "lib/json/add/time.rb",
67
+ "lib/json/common.rb",
68
+ "lib/json/ext.rb",
69
+ "lib/json/ext/.keep",
70
+ "lib/json/generic_object.rb",
71
+ "lib/json/pure.rb",
72
+ "lib/json/pure/generator.rb",
73
+ "lib/json/pure/parser.rb",
74
+ "lib/json/version.rb",
75
+ "references/rfc7159.txt",
76
+ "tests/fixtures/fail10.json",
77
+ "tests/fixtures/fail11.json",
78
+ "tests/fixtures/fail12.json",
79
+ "tests/fixtures/fail13.json",
80
+ "tests/fixtures/fail14.json",
81
+ "tests/fixtures/fail18.json",
82
+ "tests/fixtures/fail19.json",
83
+ "tests/fixtures/fail2.json",
84
+ "tests/fixtures/fail20.json",
85
+ "tests/fixtures/fail21.json",
86
+ "tests/fixtures/fail22.json",
87
+ "tests/fixtures/fail23.json",
88
+ "tests/fixtures/fail24.json",
89
+ "tests/fixtures/fail25.json",
90
+ "tests/fixtures/fail27.json",
91
+ "tests/fixtures/fail28.json",
92
+ "tests/fixtures/fail3.json",
93
+ "tests/fixtures/fail4.json",
94
+ "tests/fixtures/fail5.json",
95
+ "tests/fixtures/fail6.json",
96
+ "tests/fixtures/fail7.json",
97
+ "tests/fixtures/fail8.json",
98
+ "tests/fixtures/fail9.json",
99
+ "tests/fixtures/obsolete_fail1.json",
100
+ "tests/fixtures/pass1.json",
101
+ "tests/fixtures/pass15.json",
102
+ "tests/fixtures/pass16.json",
103
+ "tests/fixtures/pass17.json",
104
+ "tests/fixtures/pass2.json",
105
+ "tests/fixtures/pass26.json",
106
+ "tests/fixtures/pass3.json",
107
+ "tests/json_addition_test.rb",
108
+ "tests/json_common_interface_test.rb",
109
+ "tests/json_encoding_test.rb",
110
+ "tests/json_ext_parser_test.rb",
111
+ "tests/json_fixtures_test.rb",
112
+ "tests/json_generator_test.rb",
113
+ "tests/json_generic_object_test.rb",
114
+ "tests/json_parser_test.rb",
115
+ "tests/json_string_matching_test.rb",
116
+ "tests/test_helper.rb",
117
+ "tests/test_helper.rb",
118
+ "tools/diff.sh",
119
+ "tools/fuzz.rb",
120
+ "tools/server.rb",
121
+ ]
122
+ s.homepage = "http://flori.github.com/json"
123
+ s.metadata = {
124
+ 'bug_tracker_uri' => 'https://github.com/flori/json/issues',
125
+ 'changelog_uri' => 'https://github.com/flori/json/blob/master/CHANGES.md',
126
+ 'documentation_uri' => 'http://flori.github.io/json/doc/index.html',
127
+ 'homepage_uri' => 'http://flori.github.io/json/',
128
+ 'source_code_uri' => 'https://github.com/flori/json',
129
+ 'wiki_uri' => 'https://github.com/flori/json/wiki'
130
+ }
131
+ s.licenses = ["Ruby"]
132
+ s.rdoc_options = ["--title", "JSON implemention for Ruby", "--main", "README.md"]
133
+ s.required_ruby_version = Gem::Requirement.new(">= 2.0")
134
+ s.summary = "JSON Implementation for Ruby"
135
+ s.test_files = ["tests/test_helper.rb"]
136
+
137
+ s.add_development_dependency("rake", [">= 0"])
138
+ s.add_development_dependency("test-unit", [">= 2.0", "< 4.0"])
139
+ end
@@ -1,14 +1,12 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: json_pure 2.3.0 ruby lib
3
2
 
4
3
  Gem::Specification.new do |s|
5
4
  s.name = "json_pure".freeze
6
- s.version = "2.3.0"
5
+ s.version = File.read("VERSION").chomp
7
6
 
8
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
8
  s.require_paths = ["lib".freeze]
10
9
  s.authors = ["Florian Frank".freeze]
11
- s.date = "2019-12-11"
12
10
  s.description = "This is a JSON implementation in pure Ruby.".freeze
13
11
  s.email = "flori@ping.de".freeze
14
12
  s.extra_rdoc_files = ["README.md".freeze]
@@ -16,23 +14,20 @@ Gem::Specification.new do |s|
16
14
  s.homepage = "http://flori.github.com/json".freeze
17
15
  s.licenses = ["Ruby".freeze]
18
16
  s.rdoc_options = ["--title".freeze, "JSON implemention for ruby".freeze, "--main".freeze, "README.md".freeze]
19
- s.required_ruby_version = Gem::Requirement.new(">= 1.9".freeze)
20
- s.rubygems_version = "3.0.3".freeze
17
+ s.required_ruby_version = Gem::Requirement.new(">= 2.0".freeze)
18
+ s.rubygems_version = "3.1.2".freeze
21
19
  s.summary = "JSON Implementation for Ruby".freeze
22
20
  s.test_files = ["./tests/test_helper.rb".freeze]
23
21
 
24
22
  if s.respond_to? :specification_version then
25
23
  s.specification_version = 4
24
+ end
26
25
 
27
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
28
- s.add_development_dependency(%q<rake>.freeze, [">= 0"])
29
- s.add_development_dependency(%q<test-unit>.freeze, ["~> 2.0"])
30
- else
31
- s.add_dependency(%q<rake>.freeze, [">= 0"])
32
- s.add_dependency(%q<test-unit>.freeze, ["~> 2.0"])
33
- end
26
+ if s.respond_to? :add_runtime_dependency then
27
+ s.add_development_dependency(%q<rake>.freeze, [">= 0"])
28
+ s.add_development_dependency(%q<test-unit>.freeze, [">= 2.0", "< 4.0"])
34
29
  else
35
30
  s.add_dependency(%q<rake>.freeze, [">= 0"])
36
- s.add_dependency(%q<test-unit>.freeze, ["~> 2.0"])
31
+ s.add_dependency(%q<test-unit>.freeze, [">= 2.0", "< 4.0"])
37
32
  end
38
33
  end
@@ -0,0 +1,412 @@
1
+ #frozen_string_literal: false
2
+ require 'json/common'
3
+
4
+ ##
5
+ # = JavaScript \Object Notation (\JSON)
6
+ #
7
+ # \JSON is a lightweight data-interchange format.
8
+ #
9
+ # A \JSON value is one of the following:
10
+ # - Double-quoted text: <tt>"foo"</tt>.
11
+ # - Number: +1+, +1.0+, +2.0e2+.
12
+ # - Boolean: +true+, +false+.
13
+ # - Null: +null+.
14
+ # - \Array: an ordered list of values, enclosed by square brackets:
15
+ # ["foo", 1, 1.0, 2.0e2, true, false, null]
16
+ #
17
+ # - \Object: a collection of name/value pairs, enclosed by curly braces;
18
+ # each name is double-quoted text;
19
+ # the values may be any \JSON values:
20
+ # {"a": "foo", "b": 1, "c": 1.0, "d": 2.0e2, "e": true, "f": false, "g": null}
21
+ #
22
+ # A \JSON array or object may contain nested arrays, objects, and scalars
23
+ # to any depth:
24
+ # {"foo": {"bar": 1, "baz": 2}, "bat": [0, 1, 2]}
25
+ # [{"foo": 0, "bar": 1}, ["baz", 2]]
26
+ #
27
+ # == Using \Module \JSON
28
+ #
29
+ # To make module \JSON available in your code, begin with:
30
+ # require 'json'
31
+ #
32
+ # All examples here assume that this has been done.
33
+ #
34
+ # === Parsing \JSON
35
+ #
36
+ # You can parse a \String containing \JSON data using
37
+ # either of two methods:
38
+ # - <tt>JSON.parse(source, opts)</tt>
39
+ # - <tt>JSON.parse!(source, opts)</tt>
40
+ #
41
+ # where
42
+ # - +source+ is a Ruby object.
43
+ # - +opts+ is a \Hash object containing options
44
+ # that control both input allowed and output formatting.
45
+ #
46
+ # The difference between the two methods
47
+ # is that JSON.parse! omits some checks
48
+ # and may not be safe for some +source+ data;
49
+ # use it only for data from trusted sources.
50
+ # Use the safer method JSON.parse for less trusted sources.
51
+ #
52
+ # ==== Parsing \JSON Arrays
53
+ #
54
+ # When +source+ is a \JSON array, JSON.parse by default returns a Ruby \Array:
55
+ # json = '["foo", 1, 1.0, 2.0e2, true, false, null]'
56
+ # ruby = JSON.parse(json)
57
+ # ruby # => ["foo", 1, 1.0, 200.0, true, false, nil]
58
+ # ruby.class # => Array
59
+ #
60
+ # The \JSON array may contain nested arrays, objects, and scalars
61
+ # to any depth:
62
+ # json = '[{"foo": 0, "bar": 1}, ["baz", 2]]'
63
+ # JSON.parse(json) # => [{"foo"=>0, "bar"=>1}, ["baz", 2]]
64
+ #
65
+ # ==== Parsing \JSON \Objects
66
+ #
67
+ # When the source is a \JSON object, JSON.parse by default returns a Ruby \Hash:
68
+ # json = '{"a": "foo", "b": 1, "c": 1.0, "d": 2.0e2, "e": true, "f": false, "g": null}'
69
+ # ruby = JSON.parse(json)
70
+ # ruby # => {"a"=>"foo", "b"=>1, "c"=>1.0, "d"=>200.0, "e"=>true, "f"=>false, "g"=>nil}
71
+ # ruby.class # => Hash
72
+ #
73
+ # The \JSON object may contain nested arrays, objects, and scalars
74
+ # to any depth:
75
+ # json = '{"foo": {"bar": 1, "baz": 2}, "bat": [0, 1, 2]}'
76
+ # JSON.parse(json) # => {"foo"=>{"bar"=>1, "baz"=>2}, "bat"=>[0, 1, 2]}
77
+ #
78
+ # ==== Parsing \JSON Scalars
79
+ #
80
+ # When the source is a \JSON scalar (not an array or object),
81
+ # JSON.parse returns a Ruby scalar.
82
+ #
83
+ # \String:
84
+ # ruby = JSON.parse('"foo"')
85
+ # ruby # => 'foo'
86
+ # ruby.class # => String
87
+ # \Integer:
88
+ # ruby = JSON.parse('1')
89
+ # ruby # => 1
90
+ # ruby.class # => Integer
91
+ # \Float:
92
+ # ruby = JSON.parse('1.0')
93
+ # ruby # => 1.0
94
+ # ruby.class # => Float
95
+ # ruby = JSON.parse('2.0e2')
96
+ # ruby # => 200
97
+ # ruby.class # => Float
98
+ # Boolean:
99
+ # ruby = JSON.parse('true')
100
+ # ruby # => true
101
+ # ruby.class # => TrueClass
102
+ # ruby = JSON.parse('false')
103
+ # ruby # => false
104
+ # ruby.class # => FalseClass
105
+ # Null:
106
+ # ruby = JSON.parse('null')
107
+ # ruby # => nil
108
+ # ruby.class # => NilClass
109
+ #
110
+ # === Generating \JSON
111
+ #
112
+ # To generate a Ruby \String containing \JSON data,
113
+ # use method <tt>JSON.generate(source, opts)</tt>, where
114
+ # - +source+ is a Ruby object.
115
+ # - +opts+ is a \Hash object containing options
116
+ # that control both input allowed and output formatting.
117
+ #
118
+ # ==== Generating \JSON from Arrays
119
+ #
120
+ # When the source is a Ruby \Array, JSON.generate returns
121
+ # a \String containing a \JSON array:
122
+ # ruby = [0, 's', :foo]
123
+ # json = JSON.generate(ruby)
124
+ # json # => '[0,"s","foo"]'
125
+ #
126
+ # The Ruby \Array array may contain nested arrays, hashes, and scalars
127
+ # to any depth:
128
+ # ruby = [0, [1, 2], {foo: 3, bar: 4}]
129
+ # json = JSON.generate(ruby)
130
+ # json # => '[0,[1,2],{"foo":3,"bar":4}]'
131
+ #
132
+ # ==== Generating \JSON from Hashes
133
+ #
134
+ # When the source is a Ruby \Hash, JSON.generate returns
135
+ # a \String containing a \JSON object:
136
+ # ruby = {foo: 0, bar: 's', baz: :bat}
137
+ # json = JSON.generate(ruby)
138
+ # json # => '{"foo":0,"bar":"s","baz":"bat"}'
139
+ #
140
+ # The Ruby \Hash array may contain nested arrays, hashes, and scalars
141
+ # to any depth:
142
+ # ruby = {foo: [0, 1], bar: {baz: 2, bat: 3}, bam: :bad}
143
+ # json = JSON.generate(ruby)
144
+ # json # => '{"foo":[0,1],"bar":{"baz":2,"bat":3},"bam":"bad"}'
145
+ #
146
+ # ==== Generating \JSON from Other Objects
147
+ #
148
+ # When the source is neither an \Array nor a \Hash,
149
+ # the generated \JSON data depends on the class of the source.
150
+ #
151
+ # When the source is a Ruby \Integer or \Float, JSON.generate returns
152
+ # a \String containing a \JSON number:
153
+ # JSON.generate(42) # => '42'
154
+ # JSON.generate(0.42) # => '0.42'
155
+ #
156
+ # When the source is a Ruby \String, JSON.generate returns
157
+ # a \String containing a \JSON string (with double-quotes):
158
+ # JSON.generate('A string') # => '"A string"'
159
+ #
160
+ # When the source is +true+, +false+ or +nil+, JSON.generate returns
161
+ # a \String containing the corresponding \JSON token:
162
+ # JSON.generate(true) # => 'true'
163
+ # JSON.generate(false) # => 'false'
164
+ # JSON.generate(nil) # => 'null'
165
+ #
166
+ # When the source is none of the above, JSON.generate returns
167
+ # a \String containing a \JSON string representation of the source:
168
+ # JSON.generate(:foo) # => '"foo"'
169
+ # JSON.generate(Complex(0, 0)) # => '"0+0i"'
170
+ # JSON.generate(Dir.new('.')) # => '"#<Dir>"'
171
+ #
172
+ # == \JSON Additions
173
+ #
174
+ # When you "round trip" a non-\String object from Ruby to \JSON and back,
175
+ # you have a new \String, instead of the object you began with:
176
+ # ruby0 = Range.new(0, 2)
177
+ # json = JSON.generate(ruby0)
178
+ # json # => '0..2"'
179
+ # ruby1 = JSON.parse(json)
180
+ # ruby1 # => '0..2'
181
+ # ruby1.class # => String
182
+ #
183
+ # You can use \JSON _additions_ to preserve the original object.
184
+ # The addition is an extension of a ruby class, so that:
185
+ # - \JSON.generate stores more information in the \JSON string.
186
+ # - \JSON.parse, called with option +create_additions+,
187
+ # uses that information to create a proper Ruby object.
188
+ #
189
+ # This example shows a \Range being generated into \JSON
190
+ # and parsed back into Ruby, both without and with
191
+ # the addition for \Range:
192
+ # ruby = Range.new(0, 2)
193
+ # # This passage does not use the addition for Range.
194
+ # json0 = JSON.generate(ruby)
195
+ # ruby0 = JSON.parse(json0)
196
+ # # This passage uses the addition for Range.
197
+ # require 'json/add/range'
198
+ # json1 = JSON.generate(ruby)
199
+ # ruby1 = JSON.parse(json1, create_additions: true)
200
+ # # Make a nice display.
201
+ # display = <<EOT
202
+ # Generated JSON:
203
+ # Without addition: #{json0} (#{json0.class})
204
+ # With addition: #{json1} (#{json1.class})
205
+ # Parsed JSON:
206
+ # Without addition: #{ruby0.inspect} (#{ruby0.class})
207
+ # With addition: #{ruby1.inspect} (#{ruby1.class})
208
+ # EOT
209
+ # puts display
210
+ #
211
+ # This output shows the different results:
212
+ # Generated JSON:
213
+ # Without addition: "0..2" (String)
214
+ # With addition: {"json_class":"Range","a":[0,2,false]} (String)
215
+ # Parsed JSON:
216
+ # Without addition: "0..2" (String)
217
+ # With addition: 0..2 (Range)
218
+ #
219
+ # The \JSON module includes additions for certain classes.
220
+ # You can also craft custom additions.
221
+ # See {Custom \JSON Additions}[#module-JSON-label-Custom+JSON+Additions].
222
+ #
223
+ # === Built-in Additions
224
+ #
225
+ # The \JSON module includes additions for certain classes.
226
+ # To use an addition, +require+ its source:
227
+ # - BigDecimal: <tt>require 'json/add/bigdecimal'</tt>
228
+ # - Complex: <tt>require 'json/add/complex'</tt>
229
+ # - Date: <tt>require 'json/add/date'</tt>
230
+ # - DateTime: <tt>require 'json/add/date_time'</tt>
231
+ # - Exception: <tt>require 'json/add/exception'</tt>
232
+ # - OpenStruct: <tt>require 'json/add/ostruct'</tt>
233
+ # - Range: <tt>require 'json/add/range'</tt>
234
+ # - Rational: <tt>require 'json/add/rational'</tt>
235
+ # - Regexp: <tt>require 'json/add/regexp'</tt>
236
+ # - Set: <tt>require 'json/add/set'</tt>
237
+ # - Struct: <tt>require 'json/add/struct'</tt>
238
+ # - Symbol: <tt>require 'json/add/symbol'</tt>
239
+ # - Time: <tt>require 'json/add/time'</tt>
240
+ #
241
+ # To reduce punctuation clutter, the examples below
242
+ # show the generated \JSON via +puts+, rather than the usual +inspect+,
243
+ #
244
+ # \BigDecimal:
245
+ # require 'json/add/bigdecimal'
246
+ # ruby0 = BigDecimal(0) # 0.0
247
+ # json = JSON.generate(ruby0) # {"json_class":"BigDecimal","b":"27:0.0"}
248
+ # ruby1 = JSON.parse(json, create_additions: true) # 0.0
249
+ # ruby1.class # => BigDecimal
250
+ #
251
+ # \Complex:
252
+ # require 'json/add/complex'
253
+ # ruby0 = Complex(1+0i) # 1+0i
254
+ # json = JSON.generate(ruby0) # {"json_class":"Complex","r":1,"i":0}
255
+ # ruby1 = JSON.parse(json, create_additions: true) # 1+0i
256
+ # ruby1.class # Complex
257
+ #
258
+ # \Date:
259
+ # require 'json/add/date'
260
+ # ruby0 = Date.today # 2020-05-02
261
+ # json = JSON.generate(ruby0) # {"json_class":"Date","y":2020,"m":5,"d":2,"sg":2299161.0}
262
+ # ruby1 = JSON.parse(json, create_additions: true) # 2020-05-02
263
+ # ruby1.class # Date
264
+ #
265
+ # \DateTime:
266
+ # require 'json/add/date_time'
267
+ # ruby0 = DateTime.now # 2020-05-02T10:38:13-05:00
268
+ # json = JSON.generate(ruby0) # {"json_class":"DateTime","y":2020,"m":5,"d":2,"H":10,"M":38,"S":13,"of":"-5/24","sg":2299161.0}
269
+ # ruby1 = JSON.parse(json, create_additions: true) # 2020-05-02T10:38:13-05:00
270
+ # ruby1.class # DateTime
271
+ #
272
+ # \Exception (and its subclasses including \RuntimeError):
273
+ # require 'json/add/exception'
274
+ # ruby0 = Exception.new('A message') # A message
275
+ # json = JSON.generate(ruby0) # {"json_class":"Exception","m":"A message","b":null}
276
+ # ruby1 = JSON.parse(json, create_additions: true) # A message
277
+ # ruby1.class # Exception
278
+ # ruby0 = RuntimeError.new('Another message') # Another message
279
+ # json = JSON.generate(ruby0) # {"json_class":"RuntimeError","m":"Another message","b":null}
280
+ # ruby1 = JSON.parse(json, create_additions: true) # Another message
281
+ # ruby1.class # RuntimeError
282
+ #
283
+ # \OpenStruct:
284
+ # require 'json/add/ostruct'
285
+ # ruby0 = OpenStruct.new(name: 'Matz', language: 'Ruby') # #<OpenStruct name="Matz", language="Ruby">
286
+ # json = JSON.generate(ruby0) # {"json_class":"OpenStruct","t":{"name":"Matz","language":"Ruby"}}
287
+ # ruby1 = JSON.parse(json, create_additions: true) # #<OpenStruct name="Matz", language="Ruby">
288
+ # ruby1.class # OpenStruct
289
+ #
290
+ # \Range:
291
+ # require 'json/add/range'
292
+ # ruby0 = Range.new(0, 2) # 0..2
293
+ # json = JSON.generate(ruby0) # {"json_class":"Range","a":[0,2,false]}
294
+ # ruby1 = JSON.parse(json, create_additions: true) # 0..2
295
+ # ruby1.class # Range
296
+ #
297
+ # \Rational:
298
+ # require 'json/add/rational'
299
+ # ruby0 = Rational(1, 3) # 1/3
300
+ # json = JSON.generate(ruby0) # {"json_class":"Rational","n":1,"d":3}
301
+ # ruby1 = JSON.parse(json, create_additions: true) # 1/3
302
+ # ruby1.class # Rational
303
+ #
304
+ # \Regexp:
305
+ # require 'json/add/regexp'
306
+ # ruby0 = Regexp.new('foo') # (?-mix:foo)
307
+ # json = JSON.generate(ruby0) # {"json_class":"Regexp","o":0,"s":"foo"}
308
+ # ruby1 = JSON.parse(json, create_additions: true) # (?-mix:foo)
309
+ # ruby1.class # Regexp
310
+ #
311
+ # \Set:
312
+ # require 'json/add/set'
313
+ # ruby0 = Set.new([0, 1, 2]) # #<Set: {0, 1, 2}>
314
+ # json = JSON.generate(ruby0) # {"json_class":"Set","a":[0,1,2]}
315
+ # ruby1 = JSON.parse(json, create_additions: true) # #<Set: {0, 1, 2}>
316
+ # ruby1.class # Set
317
+ #
318
+ # \Struct:
319
+ # require 'json/add/struct'
320
+ # Customer = Struct.new(:name, :address) # Customer
321
+ # ruby0 = Customer.new("Dave", "123 Main") # #<struct Customer name="Dave", address="123 Main">
322
+ # json = JSON.generate(ruby0) # {"json_class":"Customer","v":["Dave","123 Main"]}
323
+ # ruby1 = JSON.parse(json, create_additions: true) # #<struct Customer name="Dave", address="123 Main">
324
+ # ruby1.class # Customer
325
+ #
326
+ # \Symbol:
327
+ # require 'json/add/symbol'
328
+ # ruby0 = :foo # foo
329
+ # json = JSON.generate(ruby0) # {"json_class":"Symbol","s":"foo"}
330
+ # ruby1 = JSON.parse(json, create_additions: true) # foo
331
+ # ruby1.class # Symbol
332
+ #
333
+ # \Time:
334
+ # require 'json/add/time'
335
+ # ruby0 = Time.now # 2020-05-02 11:28:26 -0500
336
+ # json = JSON.generate(ruby0) # {"json_class":"Time","s":1588436906,"n":840560000}
337
+ # ruby1 = JSON.parse(json, create_additions: true) # 2020-05-02 11:28:26 -0500
338
+ # ruby1.class # Time
339
+ #
340
+ #
341
+ # === Custom \JSON Additions
342
+ #
343
+ # In addition to the \JSON additions provided,
344
+ # you can craft \JSON additions of your own,
345
+ # either for Ruby built-in classes or for user-defined classes.
346
+ #
347
+ # Here's a user-defined class +Foo+:
348
+ # class Foo
349
+ # attr_accessor :bar, :baz
350
+ # def initialize(bar, baz)
351
+ # self.bar = bar
352
+ # self.baz = baz
353
+ # end
354
+ # end
355
+ #
356
+ # Here's the \JSON addition for it:
357
+ # # Extend class Foo with JSON addition.
358
+ # class Foo
359
+ # # Serialize Foo object with its class name and arguments
360
+ # def to_json(*args)
361
+ # {
362
+ # JSON.create_id => self.class.name,
363
+ # 'a' => [ bar, baz ]
364
+ # }.to_json(*args)
365
+ # end
366
+ # # Deserialize JSON string by constructing new Foo object with arguments.
367
+ # def self.json_create(object)
368
+ # new(*object['a'])
369
+ # end
370
+ # end
371
+ #
372
+ # Demonstration:
373
+ # require 'json'
374
+ # # This Foo object has no custom addition.
375
+ # foo0 = Foo.new(0, 1)
376
+ # json0 = JSON.generate(foo0)
377
+ # obj0 = JSON.parse(json0)
378
+ # # Lood the custom addition.
379
+ # require_relative 'foo_addition'
380
+ # # This foo has the custom addition.
381
+ # foo1 = Foo.new(0, 1)
382
+ # json1 = JSON.generate(foo1)
383
+ # obj1 = JSON.parse(json1, create_additions: true)
384
+ # # Make a nice display.
385
+ # display = <<EOT
386
+ # Generated JSON:
387
+ # Without custom addition: #{json0} (#{json0.class})
388
+ # With custom addition: #{json1} (#{json1.class})
389
+ # Parsed JSON:
390
+ # Without custom addition: #{obj0.inspect} (#{obj0.class})
391
+ # With custom addition: #{obj1.inspect} (#{obj1.class})
392
+ # EOT
393
+ # puts display
394
+ #
395
+ # Output:
396
+ #
397
+ # Generated JSON:
398
+ # Without custom addition: "#<Foo:0x0000000006534e80>" (String)
399
+ # With custom addition: {"json_class":"Foo","a":[0,1]} (String)
400
+ # Parsed JSON:
401
+ # Without custom addition: "#<Foo:0x0000000006534e80>" (String)
402
+ # With custom addition: #<Foo:0x0000000006473bb8 @bar=0, @baz=1> (Foo)
403
+ #
404
+ module JSON
405
+ require 'json/version'
406
+
407
+ begin
408
+ require 'json/ext'
409
+ rescue LoadError
410
+ require 'json/pure'
411
+ end
412
+ end