acfs 2.1.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +1 -1
  4. data/acfs.gemspec +1 -1
  5. data/lib/acfs/location.rb +2 -2
  6. data/lib/acfs/middleware/json.rb +3 -3
  7. data/lib/acfs/request.rb +1 -0
  8. data/lib/acfs/resource/attributes.rb +1 -1
  9. data/lib/acfs/stub.rb +1 -1
  10. data/lib/acfs/version.rb +2 -2
  11. data/lib/acfs.rb +3 -4
  12. data/spec/acfs/collection_spec.rb +16 -10
  13. data/spec/acfs/global_spec.rb +2 -2
  14. data/spec/acfs/middleware/json_spec.rb +16 -0
  15. data/spec/acfs/operation_spec.rb +2 -2
  16. data/spec/acfs/request/callbacks_spec.rb +2 -2
  17. data/spec/acfs/resource/locatable_spec.rb +5 -11
  18. data/spec/acfs/resource/query_methods_spec.rb +1 -1
  19. data/spec/acfs/resource/validation_spec.rb +3 -4
  20. data/spec/acfs/runner_spec.rb +6 -6
  21. data/spec/acfs/stub_spec.rb +6 -4
  22. data/spec/acfs_spec.rb +4 -4
  23. data/vendor/bundle/ruby/4.0.0/bundler/gems/rubocop-config-2b861962124a/README.md +23 -0
  24. data/vendor/bundle/ruby/{3.4.0/bundler/gems/rubocop-config-67802c9d1826 → 4.0.0/bundler/gems/rubocop-config-2b861962124a}/rubocop-config.gemspec +11 -11
  25. data/vendor/bundle/ruby/4.0.0/gems/actionpack-8.1.3/CHANGELOG.md +514 -0
  26. data/vendor/bundle/ruby/{3.4.0/gems/actionpack-8.0.1 → 4.0.0/gems/actionpack-8.1.3}/README.rdoc +1 -1
  27. data/vendor/bundle/ruby/4.0.0/gems/actionview-8.1.3/CHANGELOG.md +191 -0
  28. data/vendor/bundle/ruby/{3.4.0/gems/actionview-8.0.1 → 4.0.0/gems/actionview-8.1.3}/README.rdoc +1 -1
  29. data/vendor/bundle/ruby/4.0.0/gems/activemodel-8.1.3/CHANGELOG.md +68 -0
  30. data/vendor/bundle/ruby/{3.4.0/gems/activemodel-8.0.1 → 4.0.0/gems/activemodel-8.1.3}/README.rdoc +1 -1
  31. data/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.3/CHANGELOG.md +561 -0
  32. data/vendor/bundle/ruby/{3.4.0/gems/activesupport-8.0.1 → 4.0.0/gems/activesupport-8.1.3}/README.rdoc +1 -1
  33. data/vendor/bundle/ruby/{3.4.0/gems/addressable-2.8.7 → 4.0.0/gems/addressable-2.9.0}/CHANGELOG.md +71 -46
  34. data/vendor/bundle/ruby/{3.4.0/gems/addressable-2.8.7 → 4.0.0/gems/addressable-2.9.0}/README.md +6 -6
  35. data/vendor/bundle/ruby/4.0.0/gems/ast-2.4.3/LICENSE.MIT +20 -0
  36. data/vendor/bundle/ruby/4.0.0/gems/ast-2.4.3/README.YARD.md +12 -0
  37. data/vendor/bundle/ruby/{3.4.0/gems/bigdecimal-3.1.9 → 4.0.0/gems/bigdecimal-4.1.2}/bigdecimal.gemspec +6 -1
  38. 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
  39. 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
  40. data/vendor/bundle/ruby/{3.4.0/gems/connection_pool-2.5.0 → 4.0.0/gems/connection_pool-3.0.2}/README.md +49 -34
  41. data/vendor/bundle/ruby/4.0.0/gems/connection_pool-3.0.2/connection_pool.gemspec +35 -0
  42. data/vendor/bundle/ruby/{3.4.0/gems/diff-lcs-1.6.0 → 4.0.0/gems/diff-lcs-1.6.2}/CHANGELOG.md +27 -0
  43. data/vendor/bundle/ruby/{3.4.0/gems/diff-lcs-1.6.0 → 4.0.0/gems/diff-lcs-1.6.2}/README.md +1 -1
  44. data/vendor/bundle/ruby/4.0.0/gems/docile-1.4.1/LICENSE +21 -0
  45. data/vendor/bundle/ruby/4.0.0/gems/docile-1.4.1/README.md +409 -0
  46. data/vendor/bundle/ruby/4.0.0/gems/docile-1.4.1/docile.gemspec +36 -0
  47. data/vendor/bundle/ruby/{3.4.0/gems/drb-2.2.1 → 4.0.0/gems/drb-2.2.3}/drb.gemspec +2 -1
  48. data/vendor/bundle/ruby/{3.4.0/gems/ethon-0.16.0 → 4.0.0/gems/ethon-0.18.0}/CHANGELOG.md +43 -1
  49. data/vendor/bundle/ruby/{3.4.0/gems/ethon-0.16.0 → 4.0.0/gems/ethon-0.18.0}/README.md +1 -1
  50. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/ethon.gemspec +37 -0
  51. data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/CHANGELOG.md +42 -0
  52. data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/README.md +1 -0
  53. data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/ffi.gemspec +7 -6
  54. data/vendor/bundle/ruby/{3.4.0/gems/hashdiff-1.1.2 → 4.0.0/gems/hashdiff-1.2.1}/README.md +26 -1
  55. data/vendor/bundle/ruby/4.0.0/gems/hashdiff-1.2.1/changelog.md +127 -0
  56. data/vendor/bundle/ruby/{3.4.0/gems/i18n-1.14.7 → 4.0.0/gems/i18n-1.15.2}/README.md +13 -1
  57. data/vendor/bundle/ruby/{3.4.0/gems/json-2.10.1 → 4.0.0/gems/json-2.19.9}/README.md +43 -1
  58. data/vendor/bundle/ruby/{3.4.0/gems/json-2.10.1 → 4.0.0/gems/json-2.19.9}/json.gemspec +2 -3
  59. data/vendor/bundle/ruby/4.0.0/gems/language_server-protocol-3.17.0.5/LICENSE.txt +21 -0
  60. data/vendor/bundle/ruby/4.0.0/gems/language_server-protocol-3.17.0.5/README.md +88 -0
  61. data/vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/CHANGELOG.md +15 -0
  62. data/vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/LICENSE.txt +21 -0
  63. data/vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/README.md +173 -0
  64. data/vendor/bundle/ruby/{3.4.0/gems/loofah-2.24.0 → 4.0.0/gems/loofah-2.25.1}/CHANGELOG.md +17 -0
  65. data/vendor/bundle/ruby/{3.4.0/gems/minitest-5.25.4 → 4.0.0/gems/minitest-6.0.6}/README.rdoc +33 -105
  66. data/vendor/bundle/ruby/4.0.0/gems/msgpack-1.8.3/ChangeLog +383 -0
  67. data/vendor/bundle/ruby/4.0.0/gems/msgpack-1.8.3/LICENSE +177 -0
  68. data/vendor/bundle/ruby/4.0.0/gems/msgpack-1.8.3/README.md +302 -0
  69. data/vendor/bundle/ruby/4.0.0/gems/msgpack-1.8.3/msgpack.gemspec +41 -0
  70. data/vendor/bundle/ruby/4.0.0/gems/multi_json-1.21.1/LICENSE.md +20 -0
  71. data/vendor/bundle/ruby/4.0.0/gems/multi_json-1.21.1/README.md +281 -0
  72. data/vendor/bundle/ruby/{3.4.0/gems/nokogiri-1.18.2-x86_64-linux-gnu → 4.0.0/gems/nokogiri-1.19.4-x86_64-linux-gnu}/LICENSE-DEPENDENCIES.md +187 -0
  73. data/vendor/bundle/ruby/{3.4.0/gems/nokogiri-1.18.2-x86_64-linux-gnu → 4.0.0/gems/nokogiri-1.19.4-x86_64-linux-gnu}/README.md +18 -3
  74. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-api-1.10.0/CHANGELOG.md +219 -0
  75. data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-api-1.4.0 → 4.0.0/gems/opentelemetry-api-1.10.0}/README.md +1 -2
  76. data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-common-0.25.0/CHANGELOG.md +110 -0
  77. data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-common-0.21.0 → 4.0.0/gems/opentelemetry-common-0.25.0}/README.md +1 -1
  78. data/vendor/bundle/ruby/4.0.0/gems/parallel-2.1.0/MIT-LICENSE.txt +20 -0
  79. data/vendor/bundle/ruby/{3.4.0/gems/rspec-collection_matchers-1.2.1 → 4.0.0/gems/parser-3.3.11.1}/LICENSE.txt +4 -5
  80. data/vendor/bundle/ruby/4.0.0/gems/parser-3.3.11.1/parser.gemspec +43 -0
  81. data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/CHANGELOG.md +786 -0
  82. data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/LICENSE.md +7 -0
  83. data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/README.md +143 -0
  84. data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/prism.gemspec +172 -0
  85. data/vendor/bundle/ruby/4.0.0/gems/public_suffix-7.0.5/CHANGELOG.md +649 -0
  86. data/vendor/bundle/ruby/{3.4.0/gems/public_suffix-6.0.1 → 4.0.0/gems/public_suffix-7.0.5}/LICENSE.txt +1 -1
  87. data/vendor/bundle/ruby/{3.4.0/gems/public_suffix-6.0.1 → 4.0.0/gems/public_suffix-7.0.5}/README.md +38 -29
  88. data/vendor/bundle/ruby/{3.4.0/gems/rack-3.1.10 → 4.0.0/gems/rack-3.2.6}/CHANGELOG.md +338 -4
  89. data/vendor/bundle/ruby/{3.4.0/gems/rack-3.1.10 → 4.0.0/gems/rack-3.2.6}/README.md +76 -20
  90. data/vendor/bundle/ruby/{3.4.0/gems/rails-dom-testing-2.2.0 → 4.0.0/gems/rails-dom-testing-2.3.0}/README.md +3 -0
  91. data/vendor/bundle/ruby/{3.4.0/gems/rails-html-sanitizer-1.6.2 → 4.0.0/gems/rails-html-sanitizer-1.7.0}/CHANGELOG.md +10 -0
  92. data/vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/Changelog.md +101 -0
  93. data/vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/LICENSE +20 -0
  94. data/vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/README.markdown +227 -0
  95. data/vendor/bundle/ruby/{3.4.0/gems/rake-13.2.1 → 4.0.0/gems/rake-13.4.2}/README.rdoc +5 -5
  96. data/vendor/bundle/ruby/{3.4.0/gems/rake-13.2.1 → 4.0.0/gems/rake-13.4.2}/rake.gemspec +3 -2
  97. data/vendor/bundle/ruby/{3.4.0/gems/rake-release-1.3.0 → 4.0.0/gems/rake-release-1.4.0}/rake-release.gemspec +4 -4
  98. data/vendor/bundle/ruby/4.0.0/gems/regexp_parser-2.12.0/LICENSE +22 -0
  99. data/vendor/bundle/ruby/4.0.0/gems/regexp_parser-2.12.0/regexp_parser.gemspec +36 -0
  100. data/vendor/bundle/ruby/{3.4.0/gems/rspec-core-3.13.3 → 4.0.0/gems/rspec-core-3.13.6}/Changelog.md +24 -2
  101. data/vendor/bundle/ruby/{3.4.0/gems/rspec-expectations-3.13.3 → 4.0.0/gems/rspec-expectations-3.13.5}/Changelog.md +154 -140
  102. data/vendor/bundle/ruby/{3.4.0/gems/rspec-mocks-3.13.2 → 4.0.0/gems/rspec-mocks-3.13.8}/Changelog.md +181 -129
  103. data/vendor/bundle/ruby/{3.4.0/gems/rspec-support-3.13.2 → 4.0.0/gems/rspec-support-3.13.7}/Changelog.md +101 -65
  104. data/vendor/bundle/ruby/4.0.0/gems/rubocop-1.88.0/LICENSE.txt +20 -0
  105. data/vendor/bundle/ruby/4.0.0/gems/rubocop-1.88.0/README.md +255 -0
  106. data/vendor/bundle/ruby/4.0.0/gems/rubocop-ast-1.49.1/LICENSE.txt +20 -0
  107. data/vendor/bundle/ruby/4.0.0/gems/rubocop-ast-1.49.1/README.md +54 -0
  108. data/vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/CHANGELOG.md +116 -0
  109. data/vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/MIT-LICENSE.md +21 -0
  110. data/vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/README.md +91 -0
  111. data/vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/CHANGELOG.md +135 -0
  112. data/vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/MIT-LICENSE.md +21 -0
  113. data/vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/README.md +91 -0
  114. data/vendor/bundle/ruby/4.0.0/gems/rubocop-performance-1.26.1/LICENSE.txt +20 -0
  115. data/vendor/bundle/ruby/4.0.0/gems/rubocop-performance-1.26.1/README.md +100 -0
  116. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/CHANGELOG.md +1136 -0
  117. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/MIT-LICENSE.md +21 -0
  118. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/README.md +112 -0
  119. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/CHANGELOG.md +98 -0
  120. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/MIT-LICENSE.md +21 -0
  121. data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/README.md +93 -0
  122. data/vendor/bundle/ruby/4.0.0/gems/ruby-progressbar-1.13.0/LICENSE.txt +19 -0
  123. data/vendor/bundle/ruby/4.0.0/gems/ruby-progressbar-1.13.0/README.md +131 -0
  124. data/vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/CHANGELOG.md +191 -0
  125. data/vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/LICENSE +20 -0
  126. data/vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/README.md +974 -0
  127. data/vendor/bundle/ruby/4.0.0/gems/simplecov-cobertura-3.2.0/LICENSE +202 -0
  128. data/vendor/bundle/ruby/4.0.0/gems/simplecov-cobertura-3.2.0/README.md +65 -0
  129. data/vendor/bundle/ruby/4.0.0/gems/simplecov-cobertura-3.2.0/simplecov-cobertura.gemspec +29 -0
  130. data/vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/CHANGELOG.md +114 -0
  131. data/vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/LICENSE +20 -0
  132. data/vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/README.md +30 -0
  133. data/vendor/bundle/ruby/4.0.0/gems/simplecov_json_formatter-0.1.4/CHANGELOG.md +13 -0
  134. data/vendor/bundle/ruby/4.0.0/gems/simplecov_json_formatter-0.1.4/README.md +29 -0
  135. data/vendor/bundle/ruby/{3.4.0/gems/thor-1.3.2 → 4.0.0/gems/thor-1.5.0}/README.md +1 -2
  136. data/vendor/bundle/ruby/{3.4.0/gems/thor-1.3.2 → 4.0.0/gems/thor-1.5.0}/thor.gemspec +3 -3
  137. data/vendor/bundle/ruby/{3.4.0/gems/typhoeus-1.4.1 → 4.0.0/gems/typhoeus-1.6.0}/CHANGELOG.md +56 -1
  138. data/vendor/bundle/ruby/{3.4.0/gems/typhoeus-1.4.1 → 4.0.0/gems/typhoeus-1.6.0}/README.md +2 -2
  139. data/vendor/bundle/ruby/{3.4.0/gems/typhoeus-1.4.1 → 4.0.0/gems/typhoeus-1.6.0}/typhoeus.gemspec +14 -4
  140. data/vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/CHANGELOG.md +299 -0
  141. data/vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/MIT-LICENSE.txt +22 -0
  142. data/vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/README.md +194 -0
  143. data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/CHANGELOG.md +202 -0
  144. data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/MIT-LICENSE.txt +20 -0
  145. data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/README.md +205 -0
  146. data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/unicode-emoji.gemspec +22 -0
  147. data/vendor/bundle/ruby/{3.4.0/gems/uri-1.0.2 → 4.0.0/gems/uri-1.1.1}/README.md +1 -1
  148. data/vendor/bundle/ruby/{3.4.0/gems/webmock-3.25.0 → 4.0.0/gems/webmock-3.26.2}/CHANGELOG.md +38 -0
  149. data/vendor/bundle/ruby/{3.4.0/gems/webmock-3.25.0 → 4.0.0/gems/webmock-3.26.2}/README.md +6 -0
  150. data/vendor/bundle/ruby/{3.4.0/specifications/actionpack-8.0.1.gemspec → 4.0.0/specifications/actionpack-8.1.3.gemspec} +9 -9
  151. data/vendor/bundle/ruby/{3.4.0/specifications/actionview-8.0.1.gemspec → 4.0.0/specifications/actionview-8.1.3.gemspec} +9 -9
  152. data/vendor/bundle/ruby/{3.4.0/specifications/activemodel-8.0.1.gemspec → 4.0.0/specifications/activemodel-8.1.3.gemspec} +7 -7
  153. data/vendor/bundle/ruby/{3.4.0/specifications/activesupport-8.0.1.gemspec → 4.0.0/specifications/activesupport-8.1.3.gemspec} +7 -7
  154. data/vendor/bundle/ruby/{3.4.0/specifications/addressable-2.8.7.gemspec → 4.0.0/specifications/addressable-2.9.0.gemspec} +7 -8
  155. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/appraisal-2.5.0.gemspec +1 -1
  156. data/vendor/bundle/ruby/4.0.0/specifications/ast-2.4.3.gemspec +29 -0
  157. data/vendor/bundle/ruby/{3.4.0/specifications/base64-0.2.0.gemspec → 4.0.0/specifications/base64-0.3.0.gemspec} +6 -6
  158. data/vendor/bundle/ruby/{3.4.0/specifications/bigdecimal-3.1.9.gemspec → 4.0.0/specifications/bigdecimal-4.1.2.gemspec} +6 -6
  159. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/builder-3.3.0.gemspec +1 -1
  160. data/vendor/bundle/ruby/{3.4.0/specifications/concurrent-ruby-1.3.5.gemspec → 4.0.0/specifications/concurrent-ruby-1.3.7.gemspec} +6 -6
  161. data/vendor/bundle/ruby/{3.4.0/specifications/connection_pool-2.5.0.gemspec → 4.0.0/specifications/connection_pool-3.0.2.gemspec} +8 -8
  162. data/vendor/bundle/ruby/{3.4.0/specifications/crack-1.0.0.gemspec → 4.0.0/specifications/crack-1.0.1.gemspec} +4 -4
  163. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/crass-1.0.6.gemspec +1 -1
  164. data/vendor/bundle/ruby/{3.4.0/specifications/diff-lcs-1.6.0.gemspec → 4.0.0/specifications/diff-lcs-1.6.2.gemspec} +11 -14
  165. data/vendor/bundle/ruby/4.0.0/specifications/docile-1.4.1.gemspec +22 -0
  166. data/vendor/bundle/ruby/{3.4.0/specifications/drb-2.2.1.gemspec → 4.0.0/specifications/drb-2.2.3.gemspec} +6 -6
  167. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/erubi-1.13.1.gemspec +1 -1
  168. data/vendor/bundle/ruby/4.0.0/specifications/ethon-0.18.0.gemspec +27 -0
  169. data/vendor/bundle/ruby/{3.4.0/specifications/ffi-1.17.1-x86_64-linux-gnu.gemspec → 4.0.0/specifications/ffi-1.17.4-x86_64-linux-gnu.gemspec} +7 -14
  170. data/vendor/bundle/ruby/{3.4.0/specifications/hashdiff-1.1.2.gemspec → 4.0.0/specifications/hashdiff-1.2.1.gemspec} +4 -4
  171. data/vendor/bundle/ruby/{3.4.0/specifications/i18n-1.14.7.gemspec → 4.0.0/specifications/i18n-1.15.2.gemspec} +6 -6
  172. data/vendor/bundle/ruby/{3.4.0/specifications/json-2.10.1.gemspec → 4.0.0/specifications/json-2.19.9.gemspec} +0 -0
  173. data/vendor/bundle/ruby/4.0.0/specifications/language_server-protocol-3.17.0.5.gemspec +31 -0
  174. data/vendor/bundle/ruby/4.0.0/specifications/lint_roller-1.1.0.gemspec +22 -0
  175. data/vendor/bundle/ruby/{3.4.0/specifications/logger-1.6.6.gemspec → 4.0.0/specifications/logger-1.7.0.gemspec} +4 -4
  176. data/vendor/bundle/ruby/{3.4.0/specifications/loofah-2.24.0.gemspec → 4.0.0/specifications/loofah-2.25.1.gemspec} +5 -5
  177. data/vendor/bundle/ruby/4.0.0/specifications/minitest-6.0.6.gemspec +35 -0
  178. data/vendor/bundle/ruby/4.0.0/specifications/msgpack-1.8.3.gemspec +36 -0
  179. data/vendor/bundle/ruby/4.0.0/specifications/multi_json-1.21.1.gemspec +22 -0
  180. data/vendor/bundle/ruby/{3.4.0/specifications/nokogiri-1.18.2-x86_64-linux-gnu.gemspec → 4.0.0/specifications/nokogiri-1.19.4-x86_64-linux-gnu.gemspec} +7 -7
  181. data/vendor/bundle/ruby/{3.4.0/specifications/opentelemetry-api-1.4.0.gemspec → 4.0.0/specifications/opentelemetry-api-1.10.0.gemspec} +11 -11
  182. data/vendor/bundle/ruby/{3.4.0/specifications/opentelemetry-common-0.21.0.gemspec → 4.0.0/specifications/opentelemetry-common-0.25.0.gemspec} +9 -10
  183. data/vendor/bundle/ruby/4.0.0/specifications/parallel-2.1.0.gemspec +21 -0
  184. data/vendor/bundle/ruby/4.0.0/specifications/parser-3.3.11.1.gemspec +37 -0
  185. data/vendor/bundle/ruby/4.0.0/specifications/prism-1.9.0.gemspec +24 -0
  186. data/vendor/bundle/ruby/{3.4.0/specifications/public_suffix-6.0.1.gemspec → 4.0.0/specifications/public_suffix-7.0.5.gemspec} +7 -7
  187. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/racc-1.8.1.gemspec +1 -1
  188. data/vendor/bundle/ruby/{3.4.0/specifications/rack-3.1.10.gemspec → 4.0.0/specifications/rack-3.2.6.gemspec} +7 -7
  189. data/vendor/bundle/ruby/{3.4.0/specifications/rack-session-2.1.0.gemspec → 4.0.0/specifications/rack-session-2.1.2.gemspec} +5 -5
  190. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/rack-test-2.2.0.gemspec +1 -1
  191. data/vendor/bundle/ruby/{3.4.0/specifications/rails-dom-testing-2.2.0.gemspec → 4.0.0/specifications/rails-dom-testing-2.3.0.gemspec} +5 -5
  192. data/vendor/bundle/ruby/{3.4.0/specifications/rails-html-sanitizer-1.6.2.gemspec → 4.0.0/specifications/rails-html-sanitizer-1.7.0.gemspec} +7 -7
  193. data/vendor/bundle/ruby/4.0.0/specifications/rainbow-3.1.1.gemspec +25 -0
  194. data/vendor/bundle/ruby/{3.4.0/specifications/rake-13.2.1.gemspec → 4.0.0/specifications/rake-13.4.2.gemspec} +6 -6
  195. data/vendor/bundle/ruby/{3.4.0/specifications/rake-release-1.3.0.gemspec → 4.0.0/specifications/rake-release-1.4.0.gemspec} +7 -7
  196. data/vendor/bundle/ruby/4.0.0/specifications/regexp_parser-2.12.0.gemspec +22 -0
  197. data/vendor/bundle/ruby/{3.4.0/specifications/rexml-3.4.0.gemspec → 4.0.0/specifications/rexml-3.4.4.gemspec} +6 -6
  198. data/vendor/bundle/ruby/{3.4.0/specifications/rspec-3.13.0.gemspec → 4.0.0/specifications/rspec-3.13.2.gemspec} +9 -9
  199. data/vendor/bundle/ruby/{3.4.0/specifications/rspec-core-3.13.3.gemspec → 4.0.0/specifications/rspec-core-3.13.6.gemspec} +8 -8
  200. data/vendor/bundle/ruby/4.0.0/specifications/rspec-expectations-3.13.5.gemspec +29 -0
  201. data/vendor/bundle/ruby/4.0.0/specifications/rspec-mocks-3.13.8.gemspec +29 -0
  202. data/vendor/bundle/ruby/{3.4.0/specifications/rspec-support-3.13.2.gemspec → 4.0.0/specifications/rspec-support-3.13.7.gemspec} +9 -9
  203. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-1.88.0.gemspec +39 -0
  204. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-ast-1.49.1.gemspec +29 -0
  205. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-capybara-2.23.0.gemspec +28 -0
  206. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-factory_bot-2.28.0.gemspec +28 -0
  207. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-performance-1.26.1.gemspec +30 -0
  208. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-rspec-3.10.2.gemspec +30 -0
  209. data/vendor/bundle/ruby/4.0.0/specifications/rubocop-rspec_rails-2.32.0.gemspec +29 -0
  210. data/vendor/bundle/ruby/4.0.0/specifications/ruby-progressbar-1.13.0.gemspec +29 -0
  211. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/securerandom-0.4.1.gemspec +1 -1
  212. data/vendor/bundle/ruby/4.0.0/specifications/simplecov-0.22.0.gemspec +28 -0
  213. data/vendor/bundle/ruby/4.0.0/specifications/simplecov-cobertura-3.2.0.gemspec +29 -0
  214. data/vendor/bundle/ruby/4.0.0/specifications/simplecov-html-0.13.2.gemspec +22 -0
  215. data/vendor/bundle/ruby/4.0.0/specifications/simplecov_json_formatter-0.1.4.gemspec +21 -0
  216. data/vendor/bundle/ruby/{3.4.0/specifications/thor-1.3.2.gemspec → 4.0.0/specifications/thor-1.5.0.gemspec} +8 -8
  217. data/vendor/bundle/ruby/4.0.0/specifications/typhoeus-1.6.0.gemspec +26 -0
  218. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/tzinfo-2.0.6.gemspec +1 -1
  219. data/vendor/bundle/ruby/4.0.0/specifications/unicode-display_width-3.2.0.gemspec +30 -0
  220. data/vendor/bundle/ruby/4.0.0/specifications/unicode-emoji-4.2.0.gemspec +22 -0
  221. data/vendor/bundle/ruby/{3.4.0/specifications/uri-1.0.2.gemspec → 4.0.0/specifications/uri-1.1.1.gemspec} +5 -5
  222. data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/specifications/useragent-0.16.11.gemspec +1 -1
  223. data/vendor/bundle/ruby/{3.4.0/specifications/webmock-3.25.0.gemspec → 4.0.0/specifications/webmock-3.26.2.gemspec} +7 -8
  224. metadata +277 -206
  225. data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-67802c9d1826/README.md +0 -23
  226. data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.1/CHANGELOG.md +0 -205
  227. data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.1/CHANGELOG.md +0 -67
  228. data/vendor/bundle/ruby/3.4.0/gems/activemodel-8.0.1/CHANGELOG.md +0 -110
  229. data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/CHANGELOG.md +0 -157
  230. data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/addressable.gemspec +0 -28
  231. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.0/README.md +0 -138
  232. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.0/benchmark.gemspec +0 -32
  233. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.0/connection_pool.gemspec +0 -24
  234. data/vendor/bundle/ruby/3.4.0/gems/ethon-0.16.0/ethon.gemspec +0 -26
  235. data/vendor/bundle/ruby/3.4.0/gems/hashdiff-1.1.2/changelog.md +0 -119
  236. data/vendor/bundle/ruby/3.4.0/gems/logger-1.6.6/logger.gemspec +0 -28
  237. data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/CHANGELOG.md +0 -275
  238. data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/LICENSE.md +0 -20
  239. data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/README.md +0 -121
  240. data/vendor/bundle/ruby/3.4.0/gems/opentelemetry-api-1.4.0/CHANGELOG.md +0 -188
  241. data/vendor/bundle/ruby/3.4.0/gems/opentelemetry-common-0.21.0/CHANGELOG.md +0 -94
  242. data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.1/CHANGELOG.md +0 -491
  243. data/vendor/bundle/ruby/3.4.0/gems/rexml-3.4.0/LICENSE.txt +0 -22
  244. data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/Changelog.md +0 -68
  245. data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/README.md +0 -76
  246. data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/rspec-collection_matchers.gemspec +0 -33
  247. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/Changelog.md +0 -73
  248. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/LICENSE.txt +0 -27
  249. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/README.md +0 -104
  250. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/rspec-its.gemspec +0 -31
  251. data/vendor/bundle/ruby/3.4.0/specifications/benchmark-0.4.0.gemspec +0 -23
  252. data/vendor/bundle/ruby/3.4.0/specifications/ethon-0.16.0.gemspec +0 -24
  253. data/vendor/bundle/ruby/3.4.0/specifications/minitest-5.25.4.gemspec +0 -31
  254. data/vendor/bundle/ruby/3.4.0/specifications/multi_json-1.15.0.gemspec +0 -26
  255. data/vendor/bundle/ruby/3.4.0/specifications/rspec-collection_matchers-1.2.1.gemspec +0 -27
  256. data/vendor/bundle/ruby/3.4.0/specifications/rspec-expectations-3.13.3.gemspec +0 -33
  257. data/vendor/bundle/ruby/3.4.0/specifications/rspec-its-2.0.0.gemspec +0 -27
  258. data/vendor/bundle/ruby/3.4.0/specifications/rspec-mocks-3.13.2.gemspec +0 -33
  259. data/vendor/bundle/ruby/3.4.0/specifications/typhoeus-1.4.1.gemspec +0 -24
  260. /data/vendor/bundle/ruby/{3.4.0/bundler/gems/rubocop-config-67802c9d1826 → 4.0.0/bundler/gems/rubocop-config-2b861962124a}/LICENSE +0 -0
  261. /data/vendor/bundle/ruby/{3.4.0/gems/actionpack-8.0.1 → 4.0.0/gems/actionpack-8.1.3}/MIT-LICENSE +0 -0
  262. /data/vendor/bundle/ruby/{3.4.0/gems/actionview-8.0.1 → 4.0.0/gems/actionview-8.1.3}/MIT-LICENSE +0 -0
  263. /data/vendor/bundle/ruby/{3.4.0/gems/activemodel-8.0.1 → 4.0.0/gems/activemodel-8.1.3}/MIT-LICENSE +0 -0
  264. /data/vendor/bundle/ruby/{3.4.0/gems/activesupport-8.0.1 → 4.0.0/gems/activesupport-8.1.3}/MIT-LICENSE +0 -0
  265. /data/vendor/bundle/ruby/{3.4.0/gems/addressable-2.8.7 → 4.0.0/gems/addressable-2.9.0}/LICENSE.txt +0 -0
  266. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/appraisal-2.5.0/MIT-LICENSE +0 -0
  267. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/appraisal-2.5.0/README.md +0 -0
  268. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/appraisal-2.5.0/appraisal.gemspec +0 -0
  269. /data/vendor/bundle/ruby/{3.4.0/gems/base64-0.2.0 → 4.0.0/gems/base64-0.3.0}/README.md +0 -0
  270. /data/vendor/bundle/ruby/{3.4.0/gems/bigdecimal-3.1.9 → 4.0.0/gems/bigdecimal-4.1.2}/LICENSE +0 -0
  271. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/builder-3.3.0/MIT-LICENSE +0 -0
  272. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/builder-3.3.0/README.md +0 -0
  273. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/builder-3.3.0/builder.gemspec +0 -0
  274. /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
  275. /data/vendor/bundle/ruby/{3.4.0/gems/connection_pool-2.5.0 → 4.0.0/gems/connection_pool-3.0.2}/LICENSE +0 -0
  276. /data/vendor/bundle/ruby/{3.4.0/gems/crack-1.0.0 → 4.0.0/gems/crack-1.0.1}/LICENSE +0 -0
  277. /data/vendor/bundle/ruby/{3.4.0/gems/crack-1.0.0 → 4.0.0/gems/crack-1.0.1}/README.md +0 -0
  278. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/crass-1.0.6/LICENSE +0 -0
  279. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/crass-1.0.6/README.md +0 -0
  280. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/crass-1.0.6/crass.gemspec +0 -0
  281. /data/vendor/bundle/ruby/{3.4.0/gems/base64-0.2.0 → 4.0.0/gems/drb-2.2.3}/LICENSE.txt +0 -0
  282. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/erubi-1.13.1/CHANGELOG +0 -0
  283. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/erubi-1.13.1/MIT-LICENSE +0 -0
  284. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/erubi-1.13.1/README.rdoc +0 -0
  285. /data/vendor/bundle/ruby/{3.4.0/gems/ethon-0.16.0 → 4.0.0/gems/ethon-0.18.0}/LICENSE +0 -0
  286. /data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/LICENSE +0 -0
  287. /data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/LICENSE.SPECS +0 -0
  288. /data/vendor/bundle/ruby/{3.4.0/gems/hashdiff-1.1.2 → 4.0.0/gems/hashdiff-1.2.1}/LICENSE +0 -0
  289. /data/vendor/bundle/ruby/{3.4.0/gems/hashdiff-1.1.2 → 4.0.0/gems/hashdiff-1.2.1}/hashdiff.gemspec +0 -0
  290. /data/vendor/bundle/ruby/{3.4.0/gems/i18n-1.14.7 → 4.0.0/gems/i18n-1.15.2}/MIT-LICENSE +0 -0
  291. /data/vendor/bundle/ruby/{3.4.0/gems/logger-1.6.6 → 4.0.0/gems/logger-1.7.0}/README.md +0 -0
  292. /data/vendor/bundle/ruby/{3.4.0/gems/loofah-2.24.0 → 4.0.0/gems/loofah-2.25.1}/MIT-LICENSE.txt +0 -0
  293. /data/vendor/bundle/ruby/{3.4.0/gems/loofah-2.24.0 → 4.0.0/gems/loofah-2.25.1}/README.md +0 -0
  294. /data/vendor/bundle/ruby/{3.4.0/gems/nokogiri-1.18.2-x86_64-linux-gnu → 4.0.0/gems/nokogiri-1.19.4-x86_64-linux-gnu}/LICENSE.md +0 -0
  295. /data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-api-1.4.0 → 4.0.0/gems/opentelemetry-api-1.10.0}/LICENSE +0 -0
  296. /data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-common-0.21.0 → 4.0.0/gems/opentelemetry-common-0.25.0}/LICENSE +0 -0
  297. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/racc-1.8.1/ChangeLog +0 -0
  298. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/racc-1.8.1/README.ja.rdoc +0 -0
  299. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/racc-1.8.1/README.rdoc +0 -0
  300. /data/vendor/bundle/ruby/{3.4.0/gems/rack-3.1.10 → 4.0.0/gems/rack-3.2.6}/MIT-LICENSE +0 -0
  301. /data/vendor/bundle/ruby/{3.4.0/gems/rack-session-2.1.0 → 4.0.0/gems/rack-session-2.1.2}/license.md +0 -0
  302. /data/vendor/bundle/ruby/{3.4.0/gems/rack-session-2.1.0 → 4.0.0/gems/rack-session-2.1.2}/readme.md +0 -0
  303. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/rack-test-2.2.0/MIT-LICENSE.txt +0 -0
  304. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/rack-test-2.2.0/README.md +0 -0
  305. /data/vendor/bundle/ruby/{3.4.0/gems/rails-dom-testing-2.2.0 → 4.0.0/gems/rails-dom-testing-2.3.0}/MIT-LICENSE +0 -0
  306. /data/vendor/bundle/ruby/{3.4.0/gems/rails-html-sanitizer-1.6.2 → 4.0.0/gems/rails-html-sanitizer-1.7.0}/MIT-LICENSE +0 -0
  307. /data/vendor/bundle/ruby/{3.4.0/gems/rails-html-sanitizer-1.6.2 → 4.0.0/gems/rails-html-sanitizer-1.7.0}/README.md +0 -0
  308. /data/vendor/bundle/ruby/{3.4.0/gems/rake-13.2.1 → 4.0.0/gems/rake-13.4.2}/MIT-LICENSE +0 -0
  309. /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
  310. /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
  311. /data/vendor/bundle/ruby/{3.4.0/gems/drb-2.2.1 → 4.0.0/gems/rexml-3.4.4}/LICENSE.txt +0 -0
  312. /data/vendor/bundle/ruby/{3.4.0/gems/rexml-3.4.0 → 4.0.0/gems/rexml-3.4.4}/README.md +0 -0
  313. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-3.13.0 → 4.0.0/gems/rspec-3.13.2}/LICENSE.md +0 -0
  314. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-3.13.0 → 4.0.0/gems/rspec-3.13.2}/README.md +0 -0
  315. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-core-3.13.3 → 4.0.0/gems/rspec-core-3.13.6}/LICENSE.md +0 -0
  316. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-core-3.13.3 → 4.0.0/gems/rspec-core-3.13.6}/README.md +0 -0
  317. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-expectations-3.13.3 → 4.0.0/gems/rspec-expectations-3.13.5}/LICENSE.md +0 -0
  318. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-expectations-3.13.3 → 4.0.0/gems/rspec-expectations-3.13.5}/README.md +0 -0
  319. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-mocks-3.13.2 → 4.0.0/gems/rspec-mocks-3.13.8}/LICENSE.md +0 -0
  320. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-mocks-3.13.2 → 4.0.0/gems/rspec-mocks-3.13.8}/README.md +0 -0
  321. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-support-3.13.2 → 4.0.0/gems/rspec-support-3.13.7}/LICENSE.md +0 -0
  322. /data/vendor/bundle/ruby/{3.4.0/gems/rspec-support-3.13.2 → 4.0.0/gems/rspec-support-3.13.7}/README.md +0 -0
  323. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/securerandom-0.4.1/README.md +0 -0
  324. /data/vendor/bundle/ruby/{3.4.0/gems/thor-1.3.2 → 4.0.0/gems/thor-1.5.0}/LICENSE.md +0 -0
  325. /data/vendor/bundle/ruby/{3.4.0/gems/typhoeus-1.4.1 → 4.0.0/gems/typhoeus-1.6.0}/LICENSE +0 -0
  326. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/tzinfo-2.0.6/LICENSE +0 -0
  327. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/tzinfo-2.0.6/README.md +0 -0
  328. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/useragent-0.16.11/LICENSE +0 -0
  329. /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/useragent-0.16.11/README.md +0 -0
  330. /data/vendor/bundle/ruby/{3.4.0/gems/webmock-3.25.0 → 4.0.0/gems/webmock-3.26.2}/LICENSE +0 -0
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.6.2 / 2025-05-12
4
+
5
+ - Handle upcoming changes to the `cgi` gem in Ruby 3.5 ([#147][pull-147])
6
+
7
+ - Fix issues found with `htmldiff` in Ruby 1.8 (which is used approximately
8
+ never, since the code change which broke Ruby 1.8 was made 6 years ago).
9
+ [#148][pull-148]
10
+
11
+ - Fixed some standardrb formatting and configuration issues.
12
+
13
+ ## 1.6.1 / 2025-03-25
14
+
15
+ - Performed further work on `Diff::LCS::Ldiff` improvements ([#46][issue-46])
16
+ and resolve several thread safety issues cleanly by making it a class.
17
+ [#129][pull-129]
18
+
19
+ - Restructure the project to be more consistent with the rest of the projects
20
+ that I manage.
21
+
22
+ - Increased GitHub action security.
23
+
24
+ - Added [trusted publishing][tp] for fully automated releases.
25
+
3
26
  ## 1.6.0 / 2025-02-13
4
27
 
5
28
  - Baptiste Courtois (@annih) has done significant work on making `bin/ldiff`
@@ -481,6 +504,9 @@
481
504
  [pull-103]: https://github.com/halostatue/diff-lcs/pull/103
482
505
  [pull-104]: https://github.com/halostatue/diff-lcs/pull/104
483
506
  [pull-105]: https://github.com/halostatue/diff-lcs/pull/105
507
+ [pull-129]: https://github.com/halostatue/diff-lcs/pull/129
508
+ [pull-147]: https://github.com/halostatue/diff-lcs/pull/147
509
+ [pull-148]: https://github.com/halostatue/diff-lcs/pull/148
484
510
  [rspec-expectations#200]: https://github.com/rspec/rspec-expectations/pull/200
485
511
  [rspec-expectations#219]: https://github.com/rspec/rspec-expectations/issues/219
486
512
  [rspec-expectations#238]: https://github.com/rspec/rspec-expectations/issues/238
@@ -489,3 +515,4 @@
489
515
  [rubinius#2268]: https://github.com/rubinius/rubinius/issues/2268
490
516
  [standard ruby]: https://github.com/standardrb/standard
491
517
  [tidelift]: https://tidelift.com/security
518
+ [tp]: https://guides.rubygems.org/trusted-publishing/
@@ -16,7 +16,7 @@ Diff::LCS computes the difference between two Enumerable sequences using the
16
16
  McIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities
17
17
  to create a simple HTML diff output format and a standard diff-like tool.
18
18
 
19
- This is release 1.4.3, providing a simple extension that allows for
19
+ This is release 1.6.1, providing a simple extension that allows for
20
20
  Diff::LCS::Change objects to be treated implicitly as arrays and fixes a number
21
21
  of formatting issues.
22
22
 
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2012-2024 Marc Siegel
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,409 @@
1
+ # Docile
2
+
3
+ [![Gem Version](https://img.shields.io/gem/v/docile.svg)](https://rubygems.org/gems/docile)
4
+ [![Gem Downloads](https://img.shields.io/gem/dt/docile.svg)](https://rubygems.org/gems/docile)
5
+
6
+ [![Join the chat at https://gitter.im/ms-ati/docile](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/ms-ati/docile?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
7
+ [![Yard Docs](http://img.shields.io/badge/yard-docs-blue.svg)](http://rubydoc.info/github/ms-ati/docile)
8
+
9
+ [![Build Status](https://github.com/ms-ati/docile/actions/workflows/main.yml/badge.svg)](https://github.com/ms-ati/docile/actions/workflows/main.yml)
10
+ [![Code Coverage](https://img.shields.io/codecov/c/github/ms-ati/docile.svg)](https://codecov.io/github/ms-ati/docile)
11
+ [![Maintainability](https://api.codeclimate.com/v1/badges/79ca631bc123f7b83b34/maintainability)](https://codeclimate.com/github/ms-ati/docile/maintainability)
12
+
13
+ Ruby makes it possible to create very expressive **Domain Specific
14
+ Languages**, or **DSL**'s for short. However, it requires some deep knowledge and
15
+ somewhat hairy meta-programming to get the interface just right.
16
+
17
+ "Docile" means *Ready to accept control or instruction; submissive* [[1]]
18
+
19
+ Instead of each Ruby project reinventing this wheel, let's make our Ruby DSL
20
+ coding a bit more docile...
21
+
22
+ [1]: http://www.google.com/search?q=docile+definition "Google"
23
+
24
+ ## Usage
25
+
26
+ ### Basic: Ruby [Array](http://ruby-doc.org/core-3.0.0/Array.html) as DSL
27
+
28
+ Let's say that we want to make a DSL for modifying Array objects.
29
+ Wouldn't it be great if we could just treat the methods of Array as a DSL?
30
+
31
+ ```ruby
32
+ with_array([]) do
33
+ push 1
34
+ push 2
35
+ pop
36
+ push 3
37
+ end
38
+ #=> [1, 3]
39
+ ```
40
+
41
+ No problem, just define the method `with_array` like this:
42
+
43
+ ```ruby
44
+ def with_array(arr=[], &block)
45
+ Docile.dsl_eval(arr, &block)
46
+ end
47
+ ```
48
+
49
+ Easy!
50
+
51
+ ### Next step: Allow helper methods to call DSL methods
52
+
53
+ What if, in our use of the methods of Array as a DSL, we want to extract
54
+ helper methods which in turn call DSL methods?
55
+
56
+ ```ruby
57
+ def pop_sum_and_push(n)
58
+ sum = 0
59
+ n.times { sum += pop }
60
+ push sum
61
+ end
62
+
63
+ Docile.dsl_eval([]) do
64
+ push 5
65
+ push 6
66
+ pop_sum_and_push(2)
67
+ end
68
+ #=> [11]
69
+ ```
70
+
71
+ Without Docile, you may find this sort of code extraction to be more
72
+ challenging.
73
+
74
+ ### Wait! Can't I do that with just `instance_eval` or `instance_exec`?
75
+
76
+ Good question!
77
+
78
+ In short: **No**.
79
+
80
+ Not if you want the code in the block to be able to refer to anything
81
+ the block would normally have access to from the surrounding context.
82
+
83
+ Let's be very specific. Docile internally uses `instance_exec` (see [execution.rb#26](lib/docile/execution.rb#L26)), adding a small layer to support referencing *local variables*, *instance variables*, and *methods* from the _block's context_ **or** the target _object's context_, interchangeably. This is "**the hard part**", where most folks making a DSL in Ruby throw up their hands.
84
+
85
+ For example:
86
+
87
+ ```ruby
88
+ class ContextOfBlock
89
+ def example_of_contexts
90
+ @block_instance_var = 1
91
+ block_local_var = 2
92
+
93
+ with_array do
94
+ push @block_instance_var
95
+ push block_local_var
96
+ pop
97
+ push block_sees_this_method
98
+ end
99
+ end
100
+
101
+ def block_sees_this_method
102
+ 3
103
+ end
104
+
105
+ def with_array(&block)
106
+ {
107
+ docile: Docile.dsl_eval([], &block),
108
+ instance_eval: ([].instance_eval(&block) rescue $!),
109
+ instance_exec: ([].instance_exec(&block) rescue $!)
110
+ }
111
+ end
112
+ end
113
+
114
+ ContextOfBlock.new.example_of_contexts
115
+ #=> {
116
+ :docile=>[1, 3],
117
+ :instance_eval=>#<NameError: undefined local variable or method `block_sees_this_method' for [nil]:Array>,
118
+ :instance_exec=>#<NameError: undefined local variable or method `block_sees_this_method' for [nil]:Array>
119
+ }
120
+ ```
121
+
122
+ As you can see, it won't be possible to call methods or access instance variables defined in the block's context using just the raw `instance_eval` or `instance_exec` methods. And in fact, Docile goes further, making it easy to maintain this support even in multi-layered DSLs.
123
+
124
+ ### Build a Pizza
125
+
126
+ Mutating (changing) an Array instance is fine, but what usually makes a good DSL is a [Builder Pattern][2].
127
+
128
+ For example, let's say you want a DSL to specify how you want to build a Pizza:
129
+
130
+ ```ruby
131
+ @sauce_level = :extra
132
+
133
+ pizza do
134
+ cheese
135
+ pepperoni
136
+ sauce @sauce_level
137
+ end
138
+ #=> #<Pizza:0x00001009dc398 @cheese=true, @pepperoni=true, @bacon=false, @sauce=:extra>
139
+ ```
140
+
141
+ And let's say we have a PizzaBuilder, which builds a Pizza like this:
142
+
143
+ ```ruby
144
+ Pizza = Struct.new(:cheese, :pepperoni, :bacon, :sauce)
145
+
146
+ class PizzaBuilder
147
+ def cheese(v=true); @cheese = v; self; end
148
+ def pepperoni(v=true); @pepperoni = v; self; end
149
+ def bacon(v=true); @bacon = v; self; end
150
+ def sauce(v=nil); @sauce = v; self; end
151
+ def build
152
+ Pizza.new(!!@cheese, !!@pepperoni, !!@bacon, @sauce)
153
+ end
154
+ end
155
+
156
+ PizzaBuilder.new.cheese.pepperoni.sauce(:extra).build
157
+ #=> #<Pizza:0x00001009dc398 @cheese=true, @pepperoni=true, @bacon=false, @sauce=:extra>
158
+ ```
159
+
160
+ Then implement your DSL like this:
161
+
162
+ ```ruby
163
+ def pizza(&block)
164
+ Docile.dsl_eval(PizzaBuilder.new, &block).build
165
+ end
166
+ ```
167
+
168
+ It's just that easy!
169
+
170
+ [2]: http://stackoverflow.com/questions/328496/when-would-you-use-the-builder-pattern "Builder Pattern"
171
+
172
+ ### Multi-level and Recursive DSLs
173
+
174
+ Docile is a very easy way to write a multi-level DSL in Ruby, even for
175
+ a [recursive data structure such as a tree][4]:
176
+
177
+ ```ruby
178
+ Person = Struct.new(:name, :mother, :father)
179
+
180
+ person {
181
+ name 'John Smith'
182
+ mother {
183
+ name 'Mary Smith'
184
+ }
185
+ father {
186
+ name 'Tom Smith'
187
+ mother {
188
+ name 'Jane Smith'
189
+ }
190
+ }
191
+ }
192
+
193
+ #=> #<struct Person name="John Smith",
194
+ # mother=#<struct Person name="Mary Smith", mother=nil, father=nil>,
195
+ # father=#<struct Person name="Tom Smith",
196
+ # mother=#<struct Person name="Jane Smith", mother=nil, father=nil>,
197
+ # father=nil>>
198
+ ```
199
+
200
+ See the full [person tree example][4] for details.
201
+
202
+ [4]: https://gist.github.com/ms-ati/2bb17bdf10a430faba98
203
+
204
+ ### Block parameters
205
+
206
+ Parameters can be passed to the DSL block.
207
+
208
+ Supposing you want to make some sort of cheap [Sinatra][3] knockoff:
209
+
210
+ ```ruby
211
+ @last_request = nil
212
+ respond '/path' do |request|
213
+ puts "Request received: #{request}"
214
+ @last_request = request
215
+ end
216
+
217
+ def ride bike
218
+ # Play with your new bike
219
+ end
220
+
221
+ respond '/new_bike' do |bike|
222
+ ride(bike)
223
+ end
224
+ ```
225
+
226
+ You'd put together a dispatcher something like this:
227
+
228
+ ```ruby
229
+ require 'singleton'
230
+
231
+ class DispatchScope
232
+ def a_method_you_can_call_from_inside_the_block
233
+ :useful_huh?
234
+ end
235
+ end
236
+
237
+ class MessageDispatch
238
+ include Singleton
239
+
240
+ def initialize
241
+ @responders = {}
242
+ end
243
+
244
+ def add_responder path, &block
245
+ @responders[path] = block
246
+ end
247
+
248
+ def dispatch path, request
249
+ Docile.dsl_eval(DispatchScope.new, request, &@responders[path])
250
+ end
251
+ end
252
+
253
+ def respond path, &handler
254
+ MessageDispatch.instance.add_responder path, handler
255
+ end
256
+
257
+ def send_request path, request
258
+ MessageDispatch.instance.dispatch path, request
259
+ end
260
+ ```
261
+
262
+ [3]: http://www.sinatrarb.com "Sinatra"
263
+
264
+ ### Functional-Style Immutable DSL Objects
265
+
266
+ Sometimes, you want to use an object as a DSL, but it doesn't quite fit the
267
+ [imperative](http://en.wikipedia.org/wiki/Imperative_programming) pattern shown
268
+ above.
269
+
270
+ Instead of methods like
271
+ [Array#push](http://www.ruby-doc.org/core-3.0.0/Array.html#method-i-push), which
272
+ modifies the object at hand, it has methods like
273
+ [String#reverse](http://www.ruby-doc.org/core-3.0.0/String.html#method-i-reverse),
274
+ which returns a new object without touching the original. Perhaps it's even
275
+ [frozen](http://www.ruby-doc.org/core-3.0.0/Object.html#method-i-freeze) in
276
+ order to enforce [immutability](http://en.wikipedia.org/wiki/Immutable_object).
277
+
278
+ Wouldn't it be great if we could just treat these methods as a DSL as well?
279
+
280
+ ```ruby
281
+ s = "I'm immutable!".freeze
282
+
283
+ with_immutable_string(s) do
284
+ reverse
285
+ upcase
286
+ end
287
+ #=> "!ELBATUMMI M'I"
288
+
289
+ s
290
+ #=> "I'm immutable!"
291
+ ```
292
+
293
+ No problem, just define the method `with_immutable_string` like this:
294
+
295
+ ```ruby
296
+ def with_immutable_string(str="", &block)
297
+ Docile.dsl_eval_immutable(str, &block)
298
+ end
299
+ ```
300
+
301
+ All set!
302
+
303
+ ### Accessing the block's return value
304
+
305
+ Sometimes you might want to access the return value of your provided block,
306
+ as opposed to the DSL object itself. In these cases, use
307
+ `dsl_eval_with_block_return`. It behaves exactly like `dsl_eval`, but returns
308
+ the output from executing the block, rather than the DSL object.
309
+
310
+ ```ruby
311
+ arr = []
312
+ with_array(arr) do
313
+ push "a"
314
+ push "b"
315
+ push "c"
316
+ length
317
+ end
318
+ #=> 3
319
+
320
+ arr
321
+ #=> ["a", "b", "c"]
322
+ ```
323
+
324
+ ```ruby
325
+ def with_array(arr=[], &block)
326
+ Docile.dsl_eval_with_block_return(arr, &block)
327
+ end
328
+ ```
329
+
330
+ ## Features
331
+
332
+ 1. Method lookup falls back from the DSL object to the block's context
333
+ 2. Local variable lookup falls back from the DSL object to the block's
334
+ context
335
+ 3. Instance variables are from the block's context only
336
+ 4. Nested DSL evaluation, correctly chaining method and variable handling
337
+ from the inner to the outer DSL scopes
338
+ 5. Alternatives for both imperative and functional styles of DSL objects
339
+
340
+ ## Installation
341
+
342
+ ``` bash
343
+ $ gem install docile
344
+ ```
345
+
346
+ ## Links
347
+ * [Source](https://github.com/ms-ati/docile)
348
+ * [Documentation](http://rubydoc.info/gems/docile)
349
+ * [Bug Tracker](https://github.com/ms-ati/docile/issues)
350
+
351
+ ## Status
352
+
353
+ Works on [all currently supported ruby versions](https://github.com/ms-ati/docile/blob/master/.github/workflows/main.yml),
354
+ or so [Github Actions](https://github.com/ms-ati/docile/actions)
355
+ tells us.
356
+
357
+ Used by some pretty cool gems to implement their DSLs, notably including
358
+ [SimpleCov](https://github.com/colszowka/simplecov). Keep an eye out for new
359
+ gems using Docile at the
360
+ [Ruby Toolbox](https://www.ruby-toolbox.com/projects/docile).
361
+
362
+ ## Release Policy
363
+
364
+ Docile releases follow
365
+ [Semantic Versioning 2.0.0](https://semver.org/spec/v2.0.0.html).
366
+
367
+ ## Note on Patches/Pull Requests
368
+
369
+ * Fork the project.
370
+ * Setup your development environment with:
371
+ `gem install bundler; bundle install`
372
+ * Make your feature addition or bug fix.
373
+ * Add tests for it. This is important so I don't break it in a future version
374
+ unintentionally.
375
+ * Commit, do not mess with rakefile, version, or history.
376
+ (if you want to have your own version, that is fine but bump version in a
377
+ commit by itself I can ignore when I pull)
378
+ * Send me a pull request. Bonus points for topic branches.
379
+
380
+ ## Releasing
381
+
382
+ To make a new release of `Docile` to
383
+ [RubyGems](https://rubygems.org/gems/docile), first install the release
384
+ dependencies (e.g. `rake`) as follows:
385
+
386
+ ```shell
387
+ bundle config set --local with 'release'
388
+ bundle install
389
+ ```
390
+
391
+ Then carry out these steps:
392
+
393
+ 1. Update `HISTORY.md`:
394
+ - Add an entry for the upcoming version _x.y.z_
395
+ - Move content from _Unreleased_ to the upcoming version _x.y.z_
396
+ - Commit with title `Update HISTORY.md for x.y.z`
397
+
398
+ 2. Update `lib/docile/version.rb`
399
+ - Replace with upcoming version _x.y.z_
400
+ - Commit with title `Bump version to x.y.z`
401
+
402
+ 3. `bundle exec rake release`
403
+
404
+ ## Copyright & License
405
+
406
+ Copyright (c) 2012-2024 Marc Siegel.
407
+
408
+ Licensed under the [MIT License](http://choosealicense.com/licenses/mit/),
409
+ see [LICENSE](LICENSE) for details.
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/docile/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "docile"
7
+ s.version = Docile::VERSION
8
+ s.author = "Marc Siegel"
9
+ s.email = "marc@usainnov.com"
10
+ s.homepage = "https://ms-ati.github.io/docile/"
11
+ s.summary = "Docile keeps your Ruby DSLs tame and well-behaved."
12
+ s.description = "Docile treats the methods of a given ruby object as a DSL "\
13
+ "(domain specific language) within a given block. \n\n"\
14
+ "Killer feature: you can also reference methods, instance "\
15
+ "variables, and local variables from the original (non-DSL) "\
16
+ "context within the block. \n\n"\
17
+ "Docile releases follow Semantic Versioning as defined at "\
18
+ "semver.org."
19
+ s.license = "MIT"
20
+
21
+ # Specify oldest supported Ruby version (2.5 to support JRuby 9.2.17.0)
22
+ s.required_ruby_version = ">= 2.5.0"
23
+
24
+ # Files included in the gem
25
+ s.files = `git ls-files -z`.split("\x0").reject do |f|
26
+ f.match(%r{^(test|spec|features)/})
27
+ end
28
+ s.require_paths = ["lib"]
29
+
30
+ s.metadata = {
31
+ "homepage_uri" => "https://ms-ati.github.io/docile/",
32
+ "changelog_uri" => "https://github.com/ms-ati/docile/blob/main/HISTORY.md",
33
+ "source_code_uri" => "https://github.com/ms-ati/docile",
34
+ "rubygems_mfa_required" => "true",
35
+ }
36
+ end
@@ -18,6 +18,8 @@ Gem::Specification.new do |spec|
18
18
 
19
19
  spec.metadata["homepage_uri"] = spec.homepage
20
20
  spec.metadata["source_code_uri"] = spec.homepage
21
+ spec.metadata["changelog_uri"] =
22
+ "#{spec.homepage}/releases/tag/v#{spec.version}"
21
23
 
22
24
  spec.files = %w[
23
25
  LICENSE.txt
@@ -29,7 +31,6 @@ Gem::Specification.new do |spec|
29
31
  lib/drb/extserv.rb
30
32
  lib/drb/extservm.rb
31
33
  lib/drb/gw.rb
32
- lib/drb/invokemethod.rb
33
34
  lib/drb/observer.rb
34
35
  lib/drb/ssl.rb
35
36
  lib/drb/timeridconv.rb
@@ -2,7 +2,49 @@
2
2
 
3
3
  ## Master
4
4
 
5
- [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.15.0...master)
5
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.18.0...master)
6
+
7
+ ## 0.18.0
8
+
9
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.17.0...v0.18.0)
10
+
11
+ * Fixed verbose mode attempting to print binary SSL data by replacing it with a summary.
12
+ ([Felipe Mesquita](https://github.com/felipedmesquita), [#265](https://github.com/typhoeus/ethon/pull/265))
13
+ * Fixed `on_headers` callbacks being called once per header line instead of once for all headers.
14
+ ([Felipe Mesquita](https://github.com/felipedmesquita), [#264](https://github.com/typhoeus/ethon/pull/264))
15
+ * Stabilized test server boot on macOS by fixing IPv6/IPv4 localhost resolution and preventing orphaned processes.
16
+ ([Geremia Taglialatela](https://github.com/tagliala), [#261](https://github.com/typhoeus/ethon/pull/261))
17
+ * Added `logger` to runtime dependencies for Ruby 3.5+ compatibility.
18
+ ([Geremia Taglialatela](https://github.com/tagliala), [#259](https://github.com/typhoeus/ethon/pull/259))
19
+ * Opted-in for MFA requirement explicitly by adding `rubygems_mfa_required` metadata.
20
+ ([Geremia Taglialatela](https://github.com/tagliala), [#257](https://github.com/typhoeus/ethon/pull/257))
21
+ * Removed redundant encoding and require_relative checks.
22
+ ([Geremia Taglialatela](https://github.com/tagliala), [#258](https://github.com/typhoeus/ethon/pull/258))
23
+
24
+ ## 0.17.0
25
+
26
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.16.0...v0.17.0)
27
+
28
+ * Require Ruby 2.6+ and simplify Gemfile.
29
+ ([Felipe Mesquita](https://github.com/felipedmesquita), [#255](https://github.com/typhoeus/ethon/pull/255))
30
+ * Fixed mismatched libcurl error codes in `easy_codes` array.
31
+ ([Felipe Mesquita](https://github.com/felipedmesquita), [#253](https://github.com/typhoeus/ethon/pull/253))
32
+ * Add Ruby 3.3 and 3.4, remove Ruby 2.5 from CI matrix.
33
+ ([Felipe Mesquita](https://github.com/felipedmesquita), [#252](https://github.com/typhoeus/ethon/pull/252))
34
+ * Skip test due to libcurl 8.7.x bug in CURLINFO_REQUEST_SIZE.
35
+ ([Felipe Mesquita](https://github.com/felipedmesquita), [#251](https://github.com/typhoeus/ethon/pull/251))
36
+ * Use `Rackup::Handler.default` for Rack 3 compatibility.
37
+ ([Vít Ondruch](https://github.com/voxik), [#244](https://github.com/typhoeus/ethon/pull/244))
38
+ * Add Ruby 3.1 and 3.2 to the test matrix.
39
+ ([Orien Madgwick](https://github.com/orien), [#228](https://github.com/typhoeus/ethon/pull/228))
40
+ * Remove development and test files from the gem package.
41
+ ([Orien Madgwick](https://github.com/orien), [#227](https://github.com/typhoeus/ethon/pull/227))
42
+ * Fix missing parenthesis in example.
43
+ ([Aleksey Tsalolikhin](https://github.com/atsalolikhin-spokeo), [#226](https://github.com/typhoeus/ethon/pull/226))
44
+
45
+ ## 0.16.0
46
+
47
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.15.0...v0.16.0)
6
48
 
7
49
  * Added `redirect_url` value to available informations and `Easy::Mirror`.
8
50
  ([Adrien Rey-Jarthon](https://github.com/jarthod)
@@ -87,7 +87,7 @@ easy.http_request("www.example.com/get", :get, { http_version: :httpv2_0 })
87
87
  easy.http_request("www.example.com/get", :get, { http_version: :httpv2_prior_knowledge })
88
88
 
89
89
  # To set the server to use http2 with https and http1 with http, send the following:
90
- easy.http_request("www.example.com/get", :get, { http_version: :httpv2_tls }
90
+ easy.http_request("www.example.com/get", :get, { http_version: :httpv2_tls })
91
91
 
92
92
  multi.add(easy)
93
93
  multi.perform
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+ lib = File.expand_path('../lib/', __FILE__)
3
+ $:.unshift lib unless $:.include?(lib)
4
+
5
+ require 'ethon/version'
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = "ethon"
9
+ s.version = Ethon::VERSION
10
+ s.platform = Gem::Platform::RUBY
11
+ s.authors = ["Hans Hasselberg"]
12
+ s.email = ["me@hans.io"]
13
+ s.homepage = "https://github.com/typhoeus/ethon"
14
+ s.summary = "Libcurl wrapper."
15
+ s.description = "Very lightweight libcurl wrapper."
16
+
17
+ s.required_ruby_version = ">= 2.6"
18
+ s.license = 'MIT'
19
+
20
+ s.add_dependency('ffi', ['>= 1.15.0'])
21
+ s.add_dependency('logger')
22
+
23
+ s.files = Dir.chdir(__dir__) do
24
+ `git ls-files -z`.split("\x0").reject do |file|
25
+ file.start_with?(*%w[. Gemfile Guardfile Rakefile profile spec])
26
+ end
27
+ end
28
+ s.require_path = 'lib'
29
+
30
+ s.metadata = {
31
+ 'bug_tracker_uri' => 'https://github.com/typhoeus/ethon/issues',
32
+ 'changelog_uri' => "https://github.com/typhoeus/ethon/blob/v#{s.version}/CHANGELOG.md",
33
+ 'documentation_uri' => "https://www.rubydoc.info/gems/ethon/#{s.version}",
34
+ 'rubygems_mfa_required' => 'true',
35
+ 'source_code_uri' => "https://github.com/typhoeus/ethon/tree/v#{s.version}"
36
+ }
37
+ end
@@ -1,3 +1,45 @@
1
+ 1.17.4 / 2026-03-26
2
+ -------------------
3
+
4
+ Fixed:
5
+ * Fix union by-value ABI mismatch with float and double types on ARM64 and X86_64.
6
+ See #1177 and #1178 for details.
7
+ * Exclude libffi files, which are unnecessary. #1176
8
+
9
+
10
+ 1.17.3 / 2025-12-29
11
+ -------------------
12
+
13
+ Fixed:
14
+ * Opt-in for MFA requirement explicitly. #1159
15
+ * Fix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . #1158
16
+ * Fix function signature of function_call in FFI trampoline. #1154
17
+ It failed on `aarch64-mingw-ucrt`.
18
+ * Add workaround for segmentation faults on `aarch64-mingw-ucrt`. #1154
19
+ * Call super in `Library#freeze` . #1154
20
+ * Deny duplication of AutoPointer per #dup and #clone . #1173
21
+ They led to double free before.
22
+
23
+ Added:
24
+ * Add binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.
25
+ * Add msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. #1143
26
+ * Mark callback dispatcher thread as fork safe for Puma. #1156
27
+ * Add missing FFI::Platform module and LastError signatures. #1169
28
+
29
+ Removed:
30
+ * Drop fat binary gems for Ruby < 3.0
31
+ * Remove `FFI::TypesGenerator` from distributed gems. #1164
32
+ * Remove libffi build dir after install, safing some install space. #1157
33
+
34
+
35
+ 1.17.2 / 2025-04-15
36
+ -------------------
37
+
38
+ Fixed:
39
+ * #1144, #1145 Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64
40
+ * Various adjustments to run the specs cleanly on Ruby-3.5 master branch.
41
+
42
+
1
43
  1.17.1 / 2024-12-30
2
44
  -------------------
3
45