restify 2.0.2 → 2.1.0

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 (191) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/restify/adapter/base.rb +1 -1
  5. data/lib/restify/cache.rb +1 -1
  6. data/lib/restify/relation.rb +1 -9
  7. data/lib/restify/response.rb +2 -2
  8. data/lib/restify/version.rb +2 -2
  9. data/spec/restify/adapter/base_spec.rb +33 -0
  10. data/spec/restify/context_spec.rb +2 -2
  11. data/spec/restify/features/opentelemetry_spec.rb +1 -1
  12. data/spec/restify/global_spec.rb +50 -1
  13. data/spec/restify/link_spec.rb +13 -3
  14. data/spec/restify/relation_spec.rb +25 -6
  15. data/spec/restify/resource_spec.rb +6 -0
  16. data/spec/restify_spec.rb +1 -1
  17. data/spec/spec_helper.rb +0 -1
  18. data/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.3/CHANGELOG.md +561 -0
  19. data/vendor/bundle/ruby/{3.4.0/gems/activesupport-8.0.2 → 4.0.0/gems/activesupport-8.1.3}/README.rdoc +1 -1
  20. data/vendor/bundle/ruby/{3.4.0/gems/addressable-2.8.7 → 4.0.0/gems/addressable-2.9.0}/CHANGELOG.md +71 -46
  21. data/vendor/bundle/ruby/{3.4.0/gems/addressable-2.8.7 → 4.0.0/gems/addressable-2.9.0}/README.md +6 -6
  22. data/vendor/bundle/ruby/4.0.0/gems/ast-2.4.3/LICENSE.MIT +20 -0
  23. data/vendor/bundle/ruby/4.0.0/gems/ast-2.4.3/README.YARD.md +12 -0
  24. data/vendor/bundle/ruby/{3.4.0/gems/concurrent-ruby-1.3.5 → 4.0.0/gems/concurrent-ruby-1.3.7}/CHANGELOG.md +12 -0
  25. data/vendor/bundle/ruby/{3.4.0/gems/concurrent-ruby-1.3.5 → 4.0.0/gems/concurrent-ruby-1.3.7}/README.md +4 -2
  26. data/vendor/bundle/ruby/{3.4.0/gems/connection_pool-2.5.3 → 4.0.0/gems/connection_pool-3.0.2}/README.md +49 -34
  27. data/vendor/bundle/ruby/4.0.0/gems/crack-1.0.1/LICENSE +20 -0
  28. data/vendor/bundle/ruby/4.0.0/gems/crack-1.0.1/README.md +43 -0
  29. data/vendor/bundle/ruby/4.0.0/gems/diff-lcs-1.6.2/CHANGELOG.md +518 -0
  30. data/vendor/bundle/ruby/4.0.0/gems/diff-lcs-1.6.2/README.md +92 -0
  31. data/vendor/bundle/ruby/4.0.0/gems/docile-1.4.1/LICENSE +21 -0
  32. data/vendor/bundle/ruby/4.0.0/gems/docile-1.4.1/README.md +409 -0
  33. data/vendor/bundle/ruby/{3.4.0/gems/ethon-0.16.0 → 4.0.0/gems/ethon-0.18.0}/CHANGELOG.md +43 -1
  34. data/vendor/bundle/ruby/{3.4.0/gems/ethon-0.16.0 → 4.0.0/gems/ethon-0.18.0}/README.md +1 -1
  35. data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.2-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/CHANGELOG.md +34 -0
  36. data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.2-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/README.md +1 -0
  37. data/vendor/bundle/ruby/4.0.0/gems/hashdiff-1.2.1/LICENSE +19 -0
  38. data/vendor/bundle/ruby/4.0.0/gems/hashdiff-1.2.1/README.md +323 -0
  39. data/vendor/bundle/ruby/4.0.0/gems/hashdiff-1.2.1/changelog.md +127 -0
  40. data/vendor/bundle/ruby/{3.4.0/gems/hitimes-3.1.0 → 4.0.0/gems/hitimes-3.2.0}/README.md +1 -1
  41. data/vendor/bundle/ruby/{3.4.0/gems/i18n-1.14.7 → 4.0.0/gems/i18n-1.15.2}/README.md +13 -1
  42. data/vendor/bundle/ruby/4.0.0/gems/json-2.19.9/README.md +310 -0
  43. data/vendor/bundle/ruby/4.0.0/gems/language_server-protocol-3.17.0.5/LICENSE.txt +21 -0
  44. data/vendor/bundle/ruby/4.0.0/gems/language_server-protocol-3.17.0.5/README.md +88 -0
  45. data/vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/CHANGELOG.md +15 -0
  46. data/vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/LICENSE.txt +21 -0
  47. data/vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/README.md +173 -0
  48. data/vendor/bundle/ruby/{3.4.0/gems/minitest-5.25.5 → 4.0.0/gems/minitest-6.0.6}/README.rdoc +21 -100
  49. data/vendor/bundle/ruby/{3.4.0/gems/msgpack-1.8.0 → 4.0.0/gems/msgpack-1.8.3}/ChangeLog +15 -0
  50. data/vendor/bundle/ruby/{3.4.0/gems/msgpack-1.8.0 → 4.0.0/gems/msgpack-1.8.3}/README.md +1 -1
  51. data/vendor/bundle/ruby/4.0.0/gems/multi_json-1.21.1/LICENSE.md +20 -0
  52. data/vendor/bundle/ruby/4.0.0/gems/multi_json-1.21.1/README.md +281 -0
  53. data/vendor/bundle/ruby/4.0.0/gems/nio4r-2.7.5/ext/libev/LICENSE +37 -0
  54. data/vendor/bundle/ruby/4.0.0/gems/nio4r-2.7.5/ext/libev/README +59 -0
  55. data/vendor/bundle/ruby/4.0.0/gems/nio4r-2.7.5/license.md +80 -0
  56. data/vendor/bundle/ruby/4.0.0/gems/nio4r-2.7.5/readme.md +91 -0
  57. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-api-1.10.0/CHANGELOG.md +219 -0
  58. data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-common-0.22.0 → 4.0.0/gems/opentelemetry-common-0.25.0}/CHANGELOG.md +12 -0
  59. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-base-0.26.1/CHANGELOG.md +97 -0
  60. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-base-0.26.1/LICENSE +201 -0
  61. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-base-0.26.1/README.md +155 -0
  62. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-ethon-0.29.0/CHANGELOG.md +192 -0
  63. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-ethon-0.29.0/LICENSE +201 -0
  64. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-ethon-0.29.0/README.md +66 -0
  65. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-registry-0.6.0/CHANGELOG.md +31 -0
  66. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-registry-0.6.0/LICENSE +201 -0
  67. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-registry-0.6.0/README.md +40 -0
  68. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-sdk-1.12.0/CHANGELOG.md +302 -0
  69. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-sdk-1.12.0/LICENSE +201 -0
  70. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-sdk-1.12.0/README.md +101 -0
  71. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-semantic_conventions-1.41.0/CHANGELOG.md +65 -0
  72. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-semantic_conventions-1.41.0/LICENSE +201 -0
  73. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-semantic_conventions-1.41.0/README.md +115 -0
  74. data/vendor/bundle/ruby/4.0.0/gems/parallel-2.1.0/MIT-LICENSE.txt +20 -0
  75. data/vendor/bundle/ruby/4.0.0/gems/parser-3.3.11.1/LICENSE.txt +26 -0
  76. data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/CHANGELOG.md +786 -0
  77. data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/LICENSE.md +7 -0
  78. data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/README.md +143 -0
  79. data/vendor/bundle/ruby/4.0.0/gems/public_suffix-7.0.5/CHANGELOG.md +649 -0
  80. data/vendor/bundle/ruby/{3.4.0/gems/public_suffix-6.0.2 → 4.0.0/gems/public_suffix-7.0.5}/LICENSE.txt +1 -1
  81. data/vendor/bundle/ruby/{3.4.0/gems/public_suffix-6.0.2 → 4.0.0/gems/public_suffix-7.0.5}/README.md +38 -29
  82. data/vendor/bundle/ruby/4.0.0/gems/puma-8.0.2/LICENSE +29 -0
  83. data/vendor/bundle/ruby/4.0.0/gems/puma-8.0.2/README.md +484 -0
  84. data/vendor/bundle/ruby/4.0.0/gems/puma-8.0.2/docs/jungle/README.md +9 -0
  85. data/vendor/bundle/ruby/4.0.0/gems/puma-8.0.2/docs/jungle/rc.d/README.md +74 -0
  86. data/vendor/bundle/ruby/4.0.0/gems/racc-1.8.1/ChangeLog +846 -0
  87. data/vendor/bundle/ruby/4.0.0/gems/racc-1.8.1/README.ja.rdoc +58 -0
  88. data/vendor/bundle/ruby/4.0.0/gems/racc-1.8.1/README.rdoc +60 -0
  89. data/vendor/bundle/ruby/{3.4.0/gems/rack-3.1.15 → 4.0.0/gems/rack-3.2.6}/CHANGELOG.md +216 -16
  90. data/vendor/bundle/ruby/{3.4.0/gems/rack-3.1.15 → 4.0.0/gems/rack-3.2.6}/README.md +49 -20
  91. data/vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/Changelog.md +101 -0
  92. data/vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/LICENSE +20 -0
  93. data/vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/README.markdown +227 -0
  94. data/vendor/bundle/ruby/{3.4.0/gems/rake-13.2.1 → 4.0.0/gems/rake-13.4.2}/README.rdoc +5 -5
  95. data/vendor/bundle/ruby/4.0.0/gems/regexp_parser-2.12.0/LICENSE +22 -0
  96. data/vendor/bundle/ruby/4.0.0/gems/rexml-3.4.4/README.md +57 -0
  97. data/vendor/bundle/ruby/4.0.0/gems/rspec-3.13.2/LICENSE.md +27 -0
  98. data/vendor/bundle/ruby/4.0.0/gems/rspec-3.13.2/README.md +47 -0
  99. data/vendor/bundle/ruby/4.0.0/gems/rspec-core-3.13.6/Changelog.md +2447 -0
  100. data/vendor/bundle/ruby/4.0.0/gems/rspec-core-3.13.6/LICENSE.md +26 -0
  101. data/vendor/bundle/ruby/4.0.0/gems/rspec-core-3.13.6/README.md +389 -0
  102. data/vendor/bundle/ruby/4.0.0/gems/rspec-expectations-3.13.5/Changelog.md +1366 -0
  103. data/vendor/bundle/ruby/4.0.0/gems/rspec-expectations-3.13.5/LICENSE.md +25 -0
  104. data/vendor/bundle/ruby/4.0.0/gems/rspec-expectations-3.13.5/README.md +326 -0
  105. data/vendor/bundle/ruby/4.0.0/gems/rspec-mocks-3.13.8/Changelog.md +1351 -0
  106. data/vendor/bundle/ruby/4.0.0/gems/rspec-mocks-3.13.8/LICENSE.md +25 -0
  107. data/vendor/bundle/ruby/4.0.0/gems/rspec-mocks-3.13.8/README.md +465 -0
  108. data/vendor/bundle/ruby/4.0.0/gems/rspec-support-3.13.7/Changelog.md +444 -0
  109. data/vendor/bundle/ruby/{3.4.0/gems/multi_json-1.15.0 → 4.0.0/gems/rspec-support-3.13.7}/LICENSE.md +4 -1
  110. data/vendor/bundle/ruby/4.0.0/gems/rspec-support-3.13.7/README.md +40 -0
  111. data/vendor/bundle/ruby/4.0.0/gems/rubocop-1.88.0/LICENSE.txt +20 -0
  112. data/vendor/bundle/ruby/4.0.0/gems/rubocop-1.88.0/README.md +255 -0
  113. data/vendor/bundle/ruby/4.0.0/gems/rubocop-ast-1.49.1/LICENSE.txt +20 -0
  114. data/vendor/bundle/ruby/4.0.0/gems/rubocop-ast-1.49.1/README.md +54 -0
  115. data/vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/CHANGELOG.md +116 -0
  116. data/vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/MIT-LICENSE.md +21 -0
  117. data/vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/README.md +91 -0
  118. data/vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/CHANGELOG.md +135 -0
  119. data/vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/MIT-LICENSE.md +21 -0
  120. data/vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/README.md +91 -0
  121. data/vendor/bundle/ruby/4.0.0/gems/rubocop-performance-1.26.1/LICENSE.txt +20 -0
  122. data/vendor/bundle/ruby/4.0.0/gems/rubocop-performance-1.26.1/README.md +100 -0
  123. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/CHANGELOG.md +1136 -0
  124. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/MIT-LICENSE.md +21 -0
  125. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/README.md +112 -0
  126. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/CHANGELOG.md +98 -0
  127. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/MIT-LICENSE.md +21 -0
  128. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/README.md +93 -0
  129. data/vendor/bundle/ruby/4.0.0/gems/ruby-progressbar-1.13.0/LICENSE.txt +19 -0
  130. data/vendor/bundle/ruby/4.0.0/gems/ruby-progressbar-1.13.0/README.md +131 -0
  131. data/vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/CHANGELOG.md +191 -0
  132. data/vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/LICENSE +20 -0
  133. data/vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/README.md +974 -0
  134. data/vendor/bundle/ruby/4.0.0/gems/simplecov-cobertura-3.2.0/LICENSE +202 -0
  135. data/vendor/bundle/ruby/4.0.0/gems/simplecov-cobertura-3.2.0/README.md +65 -0
  136. data/vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/CHANGELOG.md +114 -0
  137. data/vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/LICENSE +20 -0
  138. data/vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/README.md +30 -0
  139. data/vendor/bundle/ruby/4.0.0/gems/simplecov_json_formatter-0.1.4/CHANGELOG.md +13 -0
  140. data/vendor/bundle/ruby/4.0.0/gems/simplecov_json_formatter-0.1.4/README.md +29 -0
  141. data/vendor/bundle/ruby/{3.4.0/gems/typhoeus-1.4.1 → 4.0.0/gems/typhoeus-1.6.0}/CHANGELOG.md +56 -1
  142. data/vendor/bundle/ruby/{3.4.0/gems/typhoeus-1.4.1 → 4.0.0/gems/typhoeus-1.6.0}/README.md +2 -2
  143. data/vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/CHANGELOG.md +299 -0
  144. data/vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/MIT-LICENSE.txt +22 -0
  145. data/vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/README.md +194 -0
  146. data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/CHANGELOG.md +202 -0
  147. data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/MIT-LICENSE.txt +20 -0
  148. data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/README.md +205 -0
  149. data/vendor/bundle/ruby/4.0.0/gems/webmock-3.26.2/CHANGELOG.md +2148 -0
  150. data/vendor/bundle/ruby/4.0.0/gems/webmock-3.26.2/LICENSE +20 -0
  151. data/vendor/bundle/ruby/4.0.0/gems/webmock-3.26.2/README.md +1229 -0
  152. metadata +170 -65
  153. data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.2/CHANGELOG.md +0 -255
  154. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.0/README.md +0 -138
  155. data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/CHANGELOG.md +0 -275
  156. data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/README.md +0 -121
  157. data/vendor/bundle/ruby/3.4.0/gems/opentelemetry-api-1.5.0/CHANGELOG.md +0 -193
  158. data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.2/CHANGELOG.md +0 -498
  159. /data/vendor/bundle/ruby/{3.4.0/bundler/gems/my-rubocop-3bcd2110ca87 → 4.0.0/bundler/gems/my-rubocop-2b861962124a}/LICENSE +0 -0
  160. /data/vendor/bundle/ruby/{3.4.0/bundler/gems/my-rubocop-3bcd2110ca87 → 4.0.0/bundler/gems/my-rubocop-2b861962124a}/README.md +0 -0
  161. /data/vendor/bundle/ruby/{3.4.0/gems/activesupport-8.0.2 → 4.0.0/gems/activesupport-8.1.3}/MIT-LICENSE +0 -0
  162. /data/vendor/bundle/ruby/{3.4.0/gems/addressable-2.8.7 → 4.0.0/gems/addressable-2.9.0}/LICENSE.txt +0 -0
  163. /data/vendor/bundle/ruby/{3.4.0/gems/base64-0.2.0 → 4.0.0/gems/base64-0.3.0}/README.md +0 -0
  164. /data/vendor/bundle/ruby/{3.4.0/gems/bigdecimal-3.1.9 → 4.0.0/gems/bigdecimal-4.1.2}/LICENSE +0 -0
  165. /data/vendor/bundle/ruby/{3.4.0/gems/concurrent-ruby-1.3.5 → 4.0.0/gems/concurrent-ruby-1.3.7}/LICENSE.txt +0 -0
  166. /data/vendor/bundle/ruby/{3.4.0/gems/connection_pool-2.5.3 → 4.0.0/gems/connection_pool-3.0.2}/LICENSE +0 -0
  167. /data/vendor/bundle/ruby/{3.4.0/gems/base64-0.2.0 → 4.0.0/gems/drb-2.2.3}/LICENSE.txt +0 -0
  168. /data/vendor/bundle/ruby/{3.4.0/gems/ethon-0.16.0 → 4.0.0/gems/ethon-0.18.0}/LICENSE +0 -0
  169. /data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.2-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/LICENSE +0 -0
  170. /data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.2-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/LICENSE.SPECS +0 -0
  171. /data/vendor/bundle/ruby/{3.4.0/gems/hitimes-3.1.0 → 4.0.0/gems/hitimes-3.2.0}/LICENSE.txt +0 -0
  172. /data/vendor/bundle/ruby/{3.4.0/gems/i18n-1.14.7 → 4.0.0/gems/i18n-1.15.2}/MIT-LICENSE +0 -0
  173. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/little-plugger-1.1.4/README.rdoc +0 -0
  174. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/logger-1.7.0/README.md +0 -0
  175. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/logging-2.4.0/LICENSE +0 -0
  176. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/logging-2.4.0/README.md +0 -0
  177. /data/vendor/bundle/ruby/{3.4.0/gems/msgpack-1.8.0 → 4.0.0/gems/msgpack-1.8.3}/LICENSE +0 -0
  178. /data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-api-1.5.0 → 4.0.0/gems/opentelemetry-api-1.10.0}/LICENSE +0 -0
  179. /data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-api-1.5.0 → 4.0.0/gems/opentelemetry-api-1.10.0}/README.md +0 -0
  180. /data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-common-0.22.0 → 4.0.0/gems/opentelemetry-common-0.25.0}/LICENSE +0 -0
  181. /data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-common-0.22.0 → 4.0.0/gems/opentelemetry-common-0.25.0}/README.md +0 -0
  182. /data/vendor/bundle/ruby/{3.4.0/gems/rack-3.1.15 → 4.0.0/gems/rack-3.2.6}/MIT-LICENSE +0 -0
  183. /data/vendor/bundle/ruby/{3.4.0/gems/rake-13.2.1 → 4.0.0/gems/rake-13.4.2}/MIT-LICENSE +0 -0
  184. /data/vendor/bundle/ruby/{3.4.0/gems/rake-release-1.3.0 → 4.0.0/gems/rake-release-1.4.0}/LICENSE +0 -0
  185. /data/vendor/bundle/ruby/{3.4.0/gems/rake-release-1.3.0 → 4.0.0/gems/rake-release-1.4.0}/README.md +0 -0
  186. /data/vendor/bundle/ruby/{3.4.0/gems/drb-2.2.1 → 4.0.0/gems/rexml-3.4.4}/LICENSE.txt +0 -0
  187. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/securerandom-0.4.1/README.md +0 -0
  188. /data/vendor/bundle/ruby/{3.4.0/gems/typhoeus-1.4.1 → 4.0.0/gems/typhoeus-1.6.0}/LICENSE +0 -0
  189. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/tzinfo-2.0.6/LICENSE +0 -0
  190. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/tzinfo-2.0.6/README.md +0 -0
  191. /data/vendor/bundle/ruby/{3.4.0/gems/uri-1.0.3 → 4.0.0/gems/uri-1.1.1}/README.md +0 -0
@@ -1,16 +1,17 @@
1
- = minitest/{test,spec,mock,benchmark}
1
+ = minitest/{test,spec,benchmark}
2
2
 
3
- home :: https://github.com/minitest/minitest
3
+ home :: https://minite.st/
4
+ code :: https://github.com/minitest/minitest
4
5
  bugs :: https://github.com/minitest/minitest/issues
5
6
  rdoc :: https://docs.seattlerb.org/minitest
6
7
  clog :: https://github.com/minitest/minitest/blob/master/History.rdoc
7
- vim :: https://github.com/sunaku/vim-ruby-minitest
8
8
  emacs:: https://github.com/arthurnn/minitest-emacs
9
+ vim :: https://github.com/vim-test/vim-test
9
10
 
10
11
  == DESCRIPTION:
11
12
 
12
13
  minitest provides a complete suite of testing facilities supporting
13
- TDD, BDD, mocking, and benchmarking.
14
+ TDD, BDD, and benchmarking.
14
15
 
15
16
  "I had a class with Jim Weirich on testing last week and we were
16
17
  allowed to choose our testing frameworks. Kirk Haines and I were
@@ -36,9 +37,6 @@ algorithms in a repeatable manner. Now you can assert that your newb
36
37
  co-worker doesn't replace your linear algorithm with an exponential
37
38
  one!
38
39
 
39
- minitest/mock by Steven Baker, is a beautifully tiny mock (and stub)
40
- object framework.
41
-
42
40
  minitest/pride shows pride in testing and adds coloring to your test
43
41
  output. I guess it is an example of how to write IO pipes too. :P
44
42
 
@@ -68,7 +66,6 @@ extract-method refactorings still apply.
68
66
  * minitest/autorun - the easy and explicit way to run all your tests.
69
67
  * minitest/test - a very fast, simple, and clean test system.
70
68
  * minitest/spec - a very fast, simple, and clean spec system.
71
- * minitest/mock - a simple and clean mock/stub system.
72
69
  * minitest/benchmark - an awesome way to assert your algorithm's performance.
73
70
  * minitest/pride - show your pride in testing!
74
71
  * minitest/test_task - a full-featured and clean rake task generator.
@@ -95,7 +92,9 @@ Given that you'd like to test the following class:
95
92
 
96
93
  === Unit tests
97
94
 
98
- Define your tests as methods beginning with +test_+.
95
+ Define your tests as methods beginning with +test_+. Use
96
+ {assertions}[/minitest/Minitest/Assertions.html] to test for results
97
+ or state.
99
98
 
100
99
  require "minitest/autorun"
101
100
 
@@ -119,6 +118,9 @@ Define your tests as methods beginning with +test_+.
119
118
 
120
119
  === Specs
121
120
 
121
+ Use {expectations}[/minitest/Minitest/Expectations.html] to check
122
+ results or state. They must be wrapped in a value call (eg +_+).
123
+
122
124
  require "minitest/autorun"
123
125
 
124
126
  describe Meme do
@@ -146,7 +148,7 @@ For matchers support check out:
146
148
 
147
149
  === Benchmarks
148
150
 
149
- Add benchmarks to your tests.
151
+ Add {benchmarks}[/minitest/Minitest/Benchmark.html] to your tests.
150
152
 
151
153
  # optionally run benchmarks, good for CI-only work!
152
154
  require "minitest/benchmark" if ENV["BENCH"]
@@ -185,85 +187,6 @@ outputs something like:
185
187
 
186
188
  Output is tab-delimited to make it easy to paste into a spreadsheet.
187
189
 
188
- === Mocks
189
-
190
- Mocks and stubs defined using terminology by Fowler & Meszaros at
191
- https://www.martinfowler.com/bliki/TestDouble.html:
192
-
193
- "Mocks are pre-programmed with expectations which form a specification
194
- of the calls they are expected to receive. They can throw an exception
195
- if they receive a call they don't expect and are checked during
196
- verification to ensure they got all the calls they were expecting."
197
-
198
- class MemeAsker
199
- def initialize(meme)
200
- @meme = meme
201
- end
202
-
203
- def ask(question)
204
- method = question.tr(" ", "_") + "?"
205
- @meme.__send__(method)
206
- end
207
- end
208
-
209
- require "minitest/autorun"
210
-
211
- describe MemeAsker, :ask do
212
- describe "when passed an unpunctuated question" do
213
- it "should invoke the appropriate predicate method on the meme" do
214
- @meme = Minitest::Mock.new
215
- @meme_asker = MemeAsker.new @meme
216
- @meme.expect :will_it_blend?, :return_value
217
-
218
- @meme_asker.ask "will it blend"
219
-
220
- @meme.verify
221
- end
222
- end
223
- end
224
-
225
- ==== Multi-threading and Mocks
226
-
227
- Minitest mocks do not support multi-threading. If it works, fine, if it doesn't
228
- you can use regular ruby patterns and facilities like local variables. Here's
229
- an example of asserting that code inside a thread is run:
230
-
231
- def test_called_inside_thread
232
- called = false
233
- pr = Proc.new { called = true }
234
- thread = Thread.new(&pr)
235
- thread.join
236
- assert called, "proc not called"
237
- end
238
-
239
- === Stubs
240
-
241
- Mocks and stubs are defined using terminology by Fowler & Meszaros at
242
- https://www.martinfowler.com/bliki/TestDouble.html:
243
-
244
- "Stubs provide canned answers to calls made during the test".
245
-
246
- Minitest's stub method overrides a single method for the duration of
247
- the block.
248
-
249
- def test_stale_eh
250
- obj_under_test = Something.new
251
-
252
- refute obj_under_test.stale?
253
-
254
- Time.stub :now, Time.at(0) do # stub goes away once the block is done
255
- assert obj_under_test.stale?
256
- end
257
- end
258
-
259
- A note on stubbing: In order to stub a method, the method must
260
- actually exist prior to stubbing. Use a singleton method to create a
261
- new non-existing method:
262
-
263
- def obj_under_test.fake_method
264
- ...
265
- end
266
-
267
190
  === Running Your Tests
268
191
 
269
192
  Ideally, you'll use a rake task to run your tests (see below), either
@@ -422,13 +345,10 @@ Current versions of rails: (https://endoflife.date/rails)
422
345
 
423
346
  | rails | min ruby | minitest | status | EOL Date |
424
347
  |-------+----------+----------+----------+------------|
348
+ | 8.1 | >= 3.2 | >= 5.1 | Current | 2027-10-07 |
425
349
  | 8.0 | >= 3.2 | >= 5.1 | Current | 2026-11-07 |
426
- | 7.2 | >= 3.1 | >= 5.1 | Current | 2026-08-09 |
427
- | 7.1 | >= 2.7 | >= 5.1 | Security | 2025-10-01 |
428
- | 7.0 | >= 2.7 | >= 5.1 | Security | 2025-04-01 |
429
- | 6.1 | >= 2.5 | >= 5.1 | EOL | 2024-10-01 |
430
- | 6.0 | >= 2.5 | >= 5.1 | EOL | 2023-06-01 |
431
- | 5.2 | >= 2.2.2 | ~> 5.1 | EOL | 2022-06-01 |
350
+ | 7.2 | >= 3.1 | >= 5.1 | Security | 2026-08-09 |
351
+ | 7.1 | >= 2.7 | >= 5.1 | EOL | 2025-10-01 |
432
352
 
433
353
  If you want to look at the requirements for a specific version, run:
434
354
 
@@ -684,6 +604,9 @@ minitest-happy :: GLOBALLY ACTIVATE MINITEST PRIDE! RAWR!
684
604
  minitest-have_tag :: Adds Minitest assertions to test for the existence of
685
605
  HTML tags, including contents, within a provided string.
686
606
  minitest-heat :: Reporting that builds a heat map of failure locations
607
+ minitest-holdify :: Stop maintaining large expected values in your
608
+ test/fixture files! Hold them automatically.
609
+ Update them effortlessly.
687
610
  minitest-hooks :: Around and before_all/after_all/around_all hooks
688
611
  minitest-hyper :: Pretty, single-page HTML reports for your Minitest runs
689
612
  minitest-implicit-subject :: Implicit declaration of the test subject.
@@ -758,12 +681,10 @@ mongoid-minitest :: Minitest matchers for Mongoid.
758
681
  mutant-minitest :: Minitest integration for mutant.
759
682
  pry-rescue :: A pry plugin w/ minitest support. See
760
683
  pry-rescue/minitest.rb.
761
- rematch :: Declutter your test files from large hardcoded data
762
- and update them automatically when your code changes.
763
684
  rspec2minitest :: Easily translate any RSpec matchers to Minitest
764
685
  assertions and expectations.
765
- stubberry :: Multiple stubbing 'berries', sweet and useful
766
- stub helpers and assertions. ( stub_must,
686
+ stubberry :: Multiple stubbing 'berries', sweet and useful
687
+ stub helpers and assertions. ( stub_must,
767
688
  assert_method_called, stubbing ORM objects by id )
768
689
 
769
690
  == Unknown Extensions:
@@ -794,7 +715,7 @@ Authors... Please send me a pull request with a description of your minitest ext
794
715
 
795
716
  == REQUIREMENTS:
796
717
 
797
- * Ruby 2.3+. No magic is involved. I hope.
718
+ * Ruby 3.2+. No magic is involved. I hope.
798
719
 
799
720
  == INSTALL:
800
721
 
@@ -1,3 +1,18 @@
1
+ 2026-06-10 1.8.3
2
+
3
+ * Fix an integer overflow when parsing maps.
4
+
5
+ 2026-06-09 1.8.2
6
+
7
+ * Fix `Buffer#clear` to properly reset memory chunks before adding them back to the pool.
8
+ This could have caused data to leak across buffers when using the MessagePack::Buffer API
9
+ directly. [CVE-PENDING].
10
+
11
+ 2026-05-28 1.8.1
12
+
13
+ * Workaround rare compilation issue when `rb_hash_new_capa` isn't properly detected.
14
+ * Never pre-allocate strings larger than the buffered size.
15
+
1
16
  2025-02-06 1.8.0
2
17
 
3
18
  * Numerous small optimizations.
@@ -290,7 +290,7 @@ To update documents in gh-pages branch:
290
290
 
291
291
  bundle exec rake doc
292
292
  git checkout gh-pages
293
- cp doc/* ./ -a
293
+ cp -a doc/* ./
294
294
 
295
295
  ## Copyright
296
296
 
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2010-2026 Erik Berlin, Michael Bleigh, Josh Kalderimis, Pavel Pravosud
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,281 @@
1
+ # MultiJSON
2
+
3
+ [![Tests](https://github.com/sferik/multi_json/actions/workflows/tests.yml/badge.svg)][tests]
4
+ [![Linter](https://github.com/sferik/multi_json/actions/workflows/linter.yml/badge.svg)][linter]
5
+ [![Mutant](https://github.com/sferik/multi_json/actions/workflows/mutant.yml/badge.svg)][mutant]
6
+ [![Typecheck](https://github.com/sferik/multi_json/actions/workflows/typecheck.yml/badge.svg)][typecheck]
7
+ [![Docs](https://github.com/sferik/multi_json/actions/workflows/docs.yml/badge.svg)][docs]
8
+ [![Maintainability](https://qlty.sh/badges/fde3f4a8-c331-44be-b1e6-45842137def9/maintainability.svg)][qlty]
9
+ [![Gem Version](https://badge.fury.io/rb/multi_json.svg)][gem]
10
+
11
+ Lots of Ruby libraries parse JSON and everyone has their favorite JSON coder.
12
+ Instead of choosing a single JSON coder and forcing users of your library to be
13
+ stuck with it, you can use MultiJSON instead, which will simply choose the
14
+ fastest available JSON coder. Here's how to use it:
15
+
16
+ ```ruby
17
+ require "multi_json"
18
+
19
+ MultiJSON.parse('{"abc":"def"}') #=> {"abc" => "def"}
20
+ MultiJSON.parse('{"abc":"def"}', symbolize_names: true) #=> {abc: "def"}
21
+ MultiJSON.generate({abc: "def"}) # convert Ruby back to JSON
22
+ MultiJSON.generate({abc: "def"}, pretty: true) # encoded in a pretty form (if supported by the coder)
23
+ ```
24
+
25
+ > [!IMPORTANT]
26
+ > **1.21.0 renames the public API to match Ruby stdlib `JSON`.** The canonical
27
+ > verbs are now `MultiJSON.parse` / `MultiJSON.generate`, and the canonical
28
+ > module is `MultiJSON` (all-caps). The legacy `MultiJson` constant,
29
+ > `MultiJSON.load` / `MultiJSON.dump`, `:symbolize_keys`, and friends still
30
+ > work but emit one-time deprecation warnings and **will be removed in 2.0.0**.
31
+ > Run your app with `ruby -W:deprecated` to surface them; the warnings are
32
+ > tagged with the `:deprecated` category so you can silence the whole set with
33
+ > `Warning[:deprecated] = false`. See [Deprecated in 1.21.0](#deprecated-in-1210)
34
+ > for the full list.
35
+
36
+ `MultiJSON.parse` returns `nil` for `nil`, empty, and whitespace-only inputs
37
+ instead of raising, so a missing or blank payload is observable as a `nil`
38
+ return value rather than an exception. When parsing invalid JSON, MultiJSON
39
+ will throw a `MultiJSON::ParseError`. `MultiJSON::DecodeError` and
40
+ `MultiJSON::LoadError` are aliases for backwards compatibility.
41
+
42
+ ```ruby
43
+ begin
44
+ MultiJSON.parse("{invalid json}")
45
+ rescue MultiJSON::ParseError => exception
46
+ exception.data #=> "{invalid json}"
47
+ exception.cause #=> JSON::ParserError: ...
48
+ exception.line #=> 1 (for adapters that report a location, e.g. Oj or the json gem)
49
+ exception.column #=> 2
50
+ end
51
+ ```
52
+
53
+ ### Drop-in replacement for stdlib `JSON`
54
+
55
+ MultiJSON mirrors the surface of Ruby's stdlib [`JSON`][json-gem] so
56
+ most call sites swap in with a one-line change:
57
+
58
+ ```diff
59
+ - require "json"
60
+ + require "multi_json"
61
+
62
+ - JSON.parse(text, symbolize_names: true)
63
+ + MultiJSON.parse(text, symbolize_names: true)
64
+
65
+ - JSON.generate(object, pretty: true)
66
+ + MultiJSON.generate(object, pretty: true)
67
+ ```
68
+
69
+ Method names and the common options line up with stdlib so existing
70
+ pretty-print calls and option keys keep working without changes:
71
+
72
+ | stdlib `JSON` | `MultiJSON` | Status |
73
+ | ---------------------- | -------------------------- | :---: |
74
+ | `JSON.parse(str)` | `MultiJSON.parse(str)` | ✓ |
75
+ | `JSON.generate(obj)` | `MultiJSON.generate(obj)` | ✓ |
76
+ | `pretty: true` | `pretty: true` | ✓ |
77
+ | `symbolize_names: true` | `symbolize_names: true` | ✓ |
78
+
79
+ ### Deprecated in 1.21.0
80
+
81
+ The module constant and primary verbs were renamed to match Ruby
82
+ stdlib `JSON.parse` / `JSON.generate` and the JSON spec (RFC 8259).
83
+ The old names still work in 1.x but now emit a one-time deprecation
84
+ warning; **they will be removed in 2.0.0**.
85
+
86
+ | Deprecated | Use instead |
87
+ | ----------------------------- | ------------------------------- |
88
+ | `MultiJson` (constant) | `MultiJSON` (all-caps) |
89
+ | `MultiJSON.load(str)` | `MultiJSON.parse(str)` |
90
+ | `MultiJSON.dump(obj)` | `MultiJSON.generate(obj)` |
91
+ | `MultiJSON.load_options=` | `MultiJSON.parse_options=` |
92
+ | `MultiJSON.load_options` | `MultiJSON.parse_options` |
93
+ | `MultiJSON.dump_options=` | `MultiJSON.generate_options=` |
94
+ | `MultiJSON.dump_options` | `MultiJSON.generate_options` |
95
+ | `symbolize_keys:` option | `symbolize_names:` option |
96
+
97
+ The `MultiJson` constant (CamelCase) continues to work as a thin
98
+ delegator; every method call, constant lookup, and rescue clause
99
+ routes through `MultiJSON` transparently.
100
+
101
+ > [!TIP]
102
+ > The recommended upgrade path to 2.0 is: pin `~> 1.21` first, run
103
+ > `ruby -W:deprecated` against your app or test suite to surface every
104
+ > deprecation, migrate each call site to the canonical name, then bump to
105
+ > `~> 2.0`. The 2.0 release deletes the deprecated aliases entirely, so the
106
+ > warnings during 1.21.x are your map.
107
+
108
+ `ParseError` instance has `cause` reader which contains the original exception.
109
+ It also has `data` reader with the input that caused the problem, and `line`/`column`
110
+ readers populated for adapters whose error messages include a location (Oj and the
111
+ json gem). Adapters that don't include one (Yajl, fast_jsonparser) leave both nil.
112
+
113
+ ### Tuning the options cache
114
+
115
+ MultiJSON memoizes the merged option hash for each `parse`/`generate` call so
116
+ identical option hashes don't trigger repeated work. The cache is bounded —
117
+ defaulting to 1000 entries per direction — and applications that generate many
118
+ distinct option hashes can raise the ceiling at runtime:
119
+
120
+ ```ruby
121
+ MultiJSON::OptionsCache.max_cache_size = 5000
122
+ ```
123
+
124
+ `max_cache_size` must be a positive integer; `0`, negative values, and
125
+ non-integers raise `ArgumentError`.
126
+
127
+ Lowering the limit only takes effect for *new* inserts; existing cache
128
+ entries are left in place until normal eviction trims them below the
129
+ new ceiling. Call `MultiJSON::OptionsCache.reset` if you want to evict
130
+ immediately.
131
+
132
+ The `use` method, which sets the MultiJSON adapter, takes either a symbol or a
133
+ class (to allow for custom JSON parsers) that responds to both `.load` and `.dump`
134
+ at the class level.
135
+
136
+ When MultiJSON fails to load the specified adapter, it'll throw `MultiJSON::AdapterError`
137
+ which inherits from `ArgumentError`.
138
+
139
+ ### Writing a custom adapter
140
+
141
+ A custom adapter is any class that responds to two class methods plus
142
+ defines a `ParseError` constant:
143
+
144
+ ```ruby
145
+ class MyAdapter
146
+ ParseError = Class.new(StandardError)
147
+
148
+ def self.load(string, options)
149
+ # parse string into a Ruby object, raising ParseError on failure
150
+ end
151
+
152
+ def self.dump(object, options)
153
+ # serialize object to a JSON string
154
+ end
155
+ end
156
+
157
+ MultiJSON.use(MyAdapter)
158
+ ```
159
+
160
+ `ParseError` is required: `MultiJSON.parse` rescues `MyAdapter::ParseError`
161
+ to wrap parse failures in `MultiJSON::ParseError`, and an adapter that
162
+ omits the constant raises `MultiJSON::AdapterError` on the first parse
163
+ attempt instead of producing a confusing `NameError`.
164
+
165
+ For more, inherit from `MultiJSON::Adapter` to pick up shared option
166
+ merging, the `defaults :load, ...` / `defaults :dump, ...` DSL, and the
167
+ blank-input short-circuit. The built-in adapters in
168
+ `lib/multi_json/adapters/` are working examples.
169
+
170
+ > [!NOTE]
171
+ > The adapter contract methods on the adapter class itself stay named
172
+ > `.load` / `.dump` in 1.21.x (and the `defaults :load, ...` / `defaults
173
+ > :dump, ...` DSL keys match). The 2.0 release renames them to `.parse` /
174
+ > `.generate` to align with the public API; if you ship a custom adapter,
175
+ > you'll need to rename those methods (and the `defaults` keys) when you
176
+ > upgrade.
177
+
178
+ MultiJSON tries to have intelligent defaulting. If any supported library is
179
+ already loaded, MultiJSON uses it before attempting to load others. When no
180
+ backend is preloaded, MultiJSON walks its preference list and uses the first
181
+ one that loads successfully. The list is split per platform — JRuby's
182
+ available adapter set differs from MRI's, and the bundled benchmark suite
183
+ ranks `json_gem` ahead of `fast_jsonparser`/`oj`/`yajl` on Ruby 3.4+. CI
184
+ re-runs the benchmark and fails if the observed ranking diverges from the
185
+ table below.
186
+
187
+ | rank | MRI / TruffleRuby | JRuby |
188
+ | ---- | ----------------- | --------------- |
189
+ | 1 | The JSON gem | `jrjackson` |
190
+ | 2 | `fast_jsonparser` | The JSON gem |
191
+ | 3 | `oj` | `gson` |
192
+ | 4 | `yajl-ruby` | — |
193
+
194
+ A dash means the adapter isn't usable on that runtime: `fast_jsonparser`,
195
+ `oj`, and `yajl-ruby` are MRI/TruffleRuby C extensions with no JRuby builds;
196
+ `jrjackson` and `gson` are JRuby-only. The JSON gem is a Ruby default gem,
197
+ so it's always available as a last-resort fallback on any supported Ruby.
198
+ If you have a workload where a different backend is faster, set it
199
+ explicitly with `MultiJSON.use(:your_adapter)`.
200
+
201
+ ## Gem Variants
202
+
203
+ MultiJSON ships as two platform-specific gems. Bundler and RubyGems
204
+ automatically select the correct variant for your Ruby implementation:
205
+
206
+ | | `ruby` platform (MRI) | `java` platform (JRuby) |
207
+ | ---------------------------------------------- | :---: | :---: |
208
+ | Runtime dependency | none | [concurrent-ruby][concurrent-ruby] `~> 1.2` |
209
+ | [`fast_jsonparser`][fast_jsonparser] adapter | ✓ | |
210
+ | [`oj`][oj] adapter | ✓ | |
211
+ | [`yajl`][yajl] adapter | ✓ | |
212
+ | [`json_gem`][json-gem] adapter | ✓ | ✓ |
213
+ | [`gson`][gson] adapter | | ✓ |
214
+ | [`jr_jackson`][jrjackson] adapter | | ✓ |
215
+ | `OptionsCache` thread-safe store | `Hash` + `Mutex` | `Concurrent::Map` |
216
+
217
+ ## Supported Ruby Versions
218
+
219
+ This library aims to support and is [tested against](https://github.com/sferik/multi_json/actions/workflows/tests.yml) the following Ruby
220
+ implementations:
221
+
222
+ - Ruby 3.2
223
+ - Ruby 3.3
224
+ - Ruby 3.4
225
+ - Ruby 4.0
226
+ - [JRuby][jruby] 10.0 (targets Ruby 3.4 compatibility)
227
+ - [TruffleRuby][truffleruby] 33.0 (native and JVM)
228
+
229
+ If something doesn't work in one of these implementations, it's a bug.
230
+
231
+ This library may inadvertently work (or seem to work) on other Ruby
232
+ implementations, however support will only be provided for the versions listed
233
+ above.
234
+
235
+ If you would like this library to support another Ruby version, you may
236
+ volunteer to be a maintainer. Being a maintainer entails making sure all tests
237
+ run and pass on that implementation. When something breaks on your
238
+ implementation, you will be responsible for providing patches in a timely
239
+ fashion. If critical issues for a particular implementation exist at the time
240
+ of a major release, support for that Ruby version may be dropped.
241
+
242
+ ## Versioning
243
+
244
+ This library aims to adhere to [Semantic Versioning 2.0.0][semver]. Violations
245
+ of this scheme should be reported as bugs. Specifically, if a minor or patch
246
+ version is released that breaks backward compatibility, that version should be
247
+ immediately yanked and/or a new version should be immediately released that
248
+ restores compatibility. Breaking changes to the public API will only be
249
+ introduced with new major versions. As a result of this policy, you can (and
250
+ should) specify a dependency on this gem using the [Pessimistic Version
251
+ Constraint][pvc] with two digits of precision. For example:
252
+
253
+ ```ruby
254
+ spec.add_dependency 'multi_json', '~> 1.0'
255
+ ```
256
+
257
+ ## Copyright
258
+
259
+ Copyright (c) 2010-2026 Erik Berlin, Michael Bleigh, Josh Kalderimis, and Pavel
260
+ Pravosud. See [LICENSE][license] for details.
261
+
262
+ [concurrent-ruby]: https://github.com/ruby-concurrency/concurrent-ruby
263
+ [docs]: https://github.com/sferik/multi_json/actions/workflows/docs.yml
264
+ [fast_jsonparser]: https://github.com/anilmaurya/fast_jsonparser
265
+ [gem]: https://rubygems.org/gems/multi_json
266
+ [gson]: https://github.com/avsej/gson.rb
267
+ [jrjackson]: https://github.com/guyboertje/jrjackson
268
+ [jruby]: http://www.jruby.org/
269
+ [json-gem]: https://github.com/flori/json
270
+ [license]: LICENSE.md
271
+ [linter]: https://github.com/sferik/multi_json/actions/workflows/linter.yml
272
+ [macruby]: http://www.macruby.org/
273
+ [mutant]: https://github.com/sferik/multi_json/actions/workflows/mutant.yml
274
+ [oj]: https://github.com/ohler55/oj
275
+ [pvc]: http://docs.rubygems.org/read/chapter/16#page74
276
+ [qlty]: https://qlty.sh/gh/sferik/projects/multi_json
277
+ [semver]: http://semver.org/
278
+ [tests]: https://github.com/sferik/multi_json/actions/workflows/tests.yml
279
+ [truffleruby]: https://www.graalvm.org/ruby/
280
+ [typecheck]: https://github.com/sferik/multi_json/actions/workflows/typecheck.yml
281
+ [yajl]: https://github.com/brianmario/yajl-ruby
@@ -0,0 +1,37 @@
1
+ All files in libev are
2
+ Copyright (c)2007,2008,2009,2010,2011,2012,2013 Marc Alexander Lehmann.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are
6
+ met:
7
+
8
+ * Redistributions of source code must retain the above copyright
9
+ notice, this list of conditions and the following disclaimer.
10
+
11
+ * Redistributions in binary form must reproduce the above
12
+ copyright notice, this list of conditions and the following
13
+ disclaimer in the documentation and/or other materials provided
14
+ with the distribution.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
+
28
+ Alternatively, the contents of this package may be used under the terms
29
+ of the GNU General Public License ("GPL") version 2 or any later version,
30
+ in which case the provisions of the GPL are applicable instead of the
31
+ above. If you wish to allow the use of your version of this package only
32
+ under the terms of the GPL and not to allow others to use your version of
33
+ this file under the BSD license, indicate your decision by deleting the
34
+ provisions above and replace them with the notice and other provisions
35
+ required by the GPL in this and the other files of this package. If you do
36
+ not delete the provisions above, a recipient may use your version of this
37
+ file under either the BSD or the GPL.
@@ -0,0 +1,59 @@
1
+ libev is a high-performance event loop/event model with lots of features.
2
+ (see benchmark at http://libev.schmorp.de/bench.html)
3
+
4
+
5
+ ABOUT
6
+
7
+ Homepage: http://software.schmorp.de/pkg/libev
8
+ Mailinglist: libev@lists.schmorp.de
9
+ http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev
10
+ Library Documentation: http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod
11
+
12
+ Libev is modelled (very losely) after libevent and the Event perl
13
+ module, but is faster, scales better and is more correct, and also more
14
+ featureful. And also smaller. Yay.
15
+
16
+ Some of the specialties of libev not commonly found elsewhere are:
17
+
18
+ - extensive and detailed, readable documentation (not doxygen garbage).
19
+ - fully supports fork, can detect fork in various ways and automatically
20
+ re-arms kernel mechanisms that do not support fork.
21
+ - highly optimised select, poll, linux epoll, linux aio, bsd kqueue
22
+ and solaris event ports backends.
23
+ - filesystem object (path) watching (with optional linux inotify support).
24
+ - wallclock-based times (using absolute time, cron-like).
25
+ - relative timers/timeouts (handle time jumps).
26
+ - fast intra-thread communication between multiple
27
+ event loops (with optional fast linux eventfd backend).
28
+ - extremely easy to embed (fully documented, no dependencies,
29
+ autoconf supported but optional).
30
+ - very small codebase, no bloated library, simple code.
31
+ - fully extensible by being able to plug into the event loop,
32
+ integrate other event loops, integrate other event loop users.
33
+ - very little memory use (small watchers, small event loop data).
34
+ - optional C++ interface allowing method and function callbacks
35
+ at no extra memory or runtime overhead.
36
+ - optional Perl interface with similar characteristics (capable
37
+ of running Glib/Gtk2 on libev).
38
+ - support for other languages (multiple C++ interfaces, D, Ruby,
39
+ Python) available from third-parties.
40
+
41
+ Examples of programs that embed libev: the EV perl module, node.js,
42
+ auditd, rxvt-unicode, gvpe (GNU Virtual Private Ethernet), the
43
+ Deliantra MMORPG server (http://www.deliantra.net/), Rubinius (a
44
+ next-generation Ruby VM), the Ebb web server, the Rev event toolkit.
45
+
46
+
47
+ CONTRIBUTORS
48
+
49
+ libev was written and designed by Marc Lehmann and Emanuele Giaquinta.
50
+
51
+ The following people sent in patches or made other noteworthy
52
+ contributions to the design (for minor patches, see the Changes
53
+ file. If I forgot to include you, please shout at me, it was an
54
+ accident):
55
+
56
+ W.C.A. Wijngaards
57
+ Christopher Layne
58
+ Chris Brody
59
+