tdiary 5.2.2 → 5.2.3

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 (1533) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +5 -1
  3. data/Gemfile.lock +18 -18
  4. data/README.md +0 -2
  5. data/lib/tdiary/version.rb +1 -1
  6. data/misc/paas/heroku/Gemfile.local +1 -1
  7. data/misc/paas/heroku/Gemfile.lock +34 -32
  8. data/vendor/bundle/ruby/3.1.0/build_info/{nokogiri-1.13.6-x86_64-linux.info → nokogiri-1.13.8-x86_64-linux.info} +0 -0
  9. data/vendor/bundle/ruby/3.1.0/cache/addressable-2.8.1.gem +0 -0
  10. data/vendor/bundle/ruby/3.1.0/cache/debug-1.6.2.gem +0 -0
  11. data/vendor/bundle/ruby/3.1.0/cache/faraday-2.5.2.gem +0 -0
  12. data/vendor/bundle/ruby/3.1.0/cache/faraday-net_http-3.0.0.gem +0 -0
  13. data/vendor/bundle/ruby/3.1.0/cache/nokogiri-1.13.8-x86_64-linux.gem +0 -0
  14. data/vendor/bundle/ruby/3.1.0/cache/octokit-5.3.0.gem +0 -0
  15. data/vendor/bundle/ruby/3.1.0/cache/public_suffix-5.0.0.gem +0 -0
  16. data/vendor/bundle/ruby/3.1.0/cache/rack-2.2.4.gem +0 -0
  17. data/vendor/bundle/ruby/3.1.0/cache/rack-test-2.0.2.gem +0 -0
  18. data/vendor/bundle/ruby/3.1.0/cache/sawyer-0.9.2.gem +0 -0
  19. data/vendor/bundle/ruby/3.1.0/cache/selenium-webdriver-4.4.0.gem +0 -0
  20. data/vendor/bundle/ruby/3.1.0/cache/sequel-5.59.0.gem +0 -0
  21. data/vendor/bundle/ruby/3.1.0/cache/sqlite3-1.4.4.gem +0 -0
  22. data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/debug-1.6.2/debug/debug.so +0 -0
  23. data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/{debug-1.5.0 → debug-1.6.2}/gem.build_complete +0 -0
  24. data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/debug-1.6.2/gem_make.out +16 -0
  25. data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/json-2.6.2/gem_make.out +1 -1
  26. data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/redcarpet-3.5.1/gem_make.out +2 -2
  27. data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/{sqlite3-1.4.2 → sqlite3-1.4.4}/gem.build_complete +0 -0
  28. data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/sqlite3-1.4.4/gem_make.out +90 -0
  29. data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/{sqlite3-1.4.2 → sqlite3-1.4.4}/mkmf.log +0 -0
  30. data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/sqlite3-1.4.4/sqlite3/sqlite3_native.so +0 -0
  31. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/CHANGELOG.md +262 -0
  32. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/Gemfile +30 -0
  33. data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/LICENSE.txt +0 -0
  34. data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/README.md +0 -0
  35. data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/Rakefile +0 -0
  36. data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/data/unicode.data +0 -0
  37. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/lib/addressable/idna/native.rb +60 -0
  38. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/lib/addressable/idna/pure.rb +677 -0
  39. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/lib/addressable/idna.rb +26 -0
  40. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/lib/addressable/template.rb +1030 -0
  41. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/lib/addressable/uri.rb +2560 -0
  42. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/lib/addressable/version.rb +31 -0
  43. data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/lib/addressable.rb +0 -0
  44. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/spec/addressable/idna_spec.rb +301 -0
  45. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/spec/addressable/net_http_compat_spec.rb +29 -0
  46. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/spec/addressable/security_spec.rb +58 -0
  47. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/spec/addressable/template_spec.rb +1468 -0
  48. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/spec/addressable/uri_spec.rb +6745 -0
  49. data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/spec/spec_helper.rb +0 -0
  50. data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/tasks/clobber.rake +0 -0
  51. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/tasks/gem.rake +95 -0
  52. data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/tasks/git.rake +0 -0
  53. data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/tasks/metrics.rake +0 -0
  54. data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/tasks/profile.rake +0 -0
  55. data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/tasks/rspec.rake +0 -0
  56. data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/tasks/yard.rake +0 -0
  57. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/CONTRIBUTING.md +561 -0
  58. data/vendor/bundle/ruby/3.1.0/gems/{debug-1.5.0 → debug-1.6.2}/Gemfile +0 -0
  59. data/vendor/bundle/ruby/3.1.0/gems/{debug-1.5.0 → debug-1.6.2}/LICENSE.txt +0 -0
  60. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/README.md +913 -0
  61. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/Rakefile +52 -0
  62. data/vendor/bundle/ruby/3.1.0/gems/{debug-1.5.0 → debug-1.6.2}/TODO.md +0 -0
  63. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/debug.gemspec +32 -0
  64. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/exe/rdbg +38 -0
  65. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/ext/debug/Makefile +267 -0
  66. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/ext/debug/debug.c +200 -0
  67. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/ext/debug/debug.o +0 -0
  68. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/ext/debug/debug.so +0 -0
  69. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/ext/debug/debug_version.h +1 -0
  70. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/ext/debug/extconf.rb +26 -0
  71. data/vendor/bundle/ruby/3.1.0/gems/{debug-1.5.0 → debug-1.6.2}/ext/debug/iseq_collector.c +0 -0
  72. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/ext/debug/iseq_collector.o +0 -0
  73. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/breakpoint.rb +552 -0
  74. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/client.rb +245 -0
  75. data/vendor/bundle/ruby/3.1.0/gems/{debug-1.5.0 → debug-1.6.2}/lib/debug/color.rb +0 -0
  76. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/config.rb +524 -0
  77. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/console.rb +234 -0
  78. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/debug.so +0 -0
  79. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/frame_info.rb +179 -0
  80. data/vendor/bundle/ruby/3.1.0/gems/{debug-1.5.0 → debug-1.6.2}/lib/debug/local.rb +0 -0
  81. data/vendor/bundle/ruby/3.1.0/gems/{debug-1.5.0 → debug-1.6.2}/lib/debug/open.rb +0 -0
  82. data/vendor/bundle/ruby/3.1.0/gems/{debug-1.5.0 → debug-1.6.2}/lib/debug/open_nonstop.rb +0 -0
  83. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/prelude.rb +50 -0
  84. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/server.rb +520 -0
  85. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/server_cdp.rb +1144 -0
  86. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/server_dap.rb +975 -0
  87. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/session.rb +2422 -0
  88. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/source_repository.rb +130 -0
  89. data/vendor/bundle/ruby/3.1.0/gems/{debug-1.5.0 → debug-1.6.2}/lib/debug/start.rb +0 -0
  90. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/thread_client.rb +1299 -0
  91. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/tracer.rb +242 -0
  92. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/version.rb +5 -0
  93. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug.rb +5 -0
  94. data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/misc/README.md.erb +604 -0
  95. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/CHANGELOG.md +0 -0
  96. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/LICENSE.md +20 -0
  97. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/README.md +55 -0
  98. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/Rakefile +0 -0
  99. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/examples/client_spec.rb +119 -0
  100. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/examples/client_test.rb +144 -0
  101. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/lib/faraday/adapter/test.rb +298 -0
  102. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/lib/faraday/adapter.rb +102 -0
  103. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/adapter_registry.rb +0 -0
  104. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/lib/faraday/connection.rb +561 -0
  105. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/encoders/flat_params_encoder.rb +0 -0
  106. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/encoders/nested_params_encoder.rb +0 -0
  107. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/error.rb +0 -0
  108. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/logging/formatter.rb +0 -0
  109. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/methods.rb +0 -0
  110. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/middleware.rb +0 -0
  111. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/middleware_registry.rb +0 -0
  112. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/options/connection_options.rb +0 -0
  113. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/lib/faraday/options/env.rb +199 -0
  114. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/options/proxy_options.rb +0 -0
  115. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/options/request_options.rb +0 -0
  116. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/lib/faraday/options/ssl_options.rb +69 -0
  117. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/options.rb +0 -0
  118. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/parameters.rb +0 -0
  119. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/rack_builder.rb +0 -0
  120. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/request/authorization.rb +0 -0
  121. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/request/instrumentation.rb +0 -0
  122. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/request/json.rb +0 -0
  123. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/request/url_encoded.rb +0 -0
  124. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/request.rb +0 -0
  125. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/response/json.rb +0 -0
  126. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/response/logger.rb +0 -0
  127. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/response/raise_error.rb +0 -0
  128. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/response.rb +0 -0
  129. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/utils/headers.rb +0 -0
  130. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/utils/params_hash.rb +0 -0
  131. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/utils.rb +0 -0
  132. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/lib/faraday/version.rb +5 -0
  133. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday.rb +0 -0
  134. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/external_adapters/faraday_specs_setup.rb +0 -0
  135. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/spec/faraday/adapter/test_spec.rb +413 -0
  136. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/adapter_registry_spec.rb +0 -0
  137. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/adapter_spec.rb +0 -0
  138. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/spec/faraday/connection_spec.rb +793 -0
  139. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/error_spec.rb +0 -0
  140. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/middleware_registry_spec.rb +0 -0
  141. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/middleware_spec.rb +0 -0
  142. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/spec/faraday/options/env_spec.rb +76 -0
  143. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/options/options_spec.rb +0 -0
  144. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/options/proxy_options_spec.rb +0 -0
  145. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/options/request_options_spec.rb +0 -0
  146. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/params_encoders/flat_spec.rb +0 -0
  147. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/params_encoders/nested_spec.rb +0 -0
  148. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/rack_builder_spec.rb +0 -0
  149. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/request/authorization_spec.rb +0 -0
  150. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/request/instrumentation_spec.rb +0 -0
  151. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/request/json_spec.rb +0 -0
  152. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/request/url_encoded_spec.rb +0 -0
  153. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/spec/faraday/request_spec.rb +110 -0
  154. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/response/json_spec.rb +0 -0
  155. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/response/logger_spec.rb +0 -0
  156. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/response/raise_error_spec.rb +0 -0
  157. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/response_spec.rb +0 -0
  158. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/utils/headers_spec.rb +0 -0
  159. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/spec/faraday/utils_spec.rb +118 -0
  160. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday_spec.rb +0 -0
  161. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/spec_helper.rb +0 -0
  162. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/support/disabling_stub.rb +0 -0
  163. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/support/fake_safe_buffer.rb +0 -0
  164. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/support/helper_methods.rb +0 -0
  165. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/spec/support/shared_examples/adapter.rb +105 -0
  166. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/support/shared_examples/params_encoder.rb +0 -0
  167. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/spec/support/shared_examples/request_method.rb +263 -0
  168. data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/support/streaming_response_checker.rb +0 -0
  169. data/vendor/bundle/ruby/3.1.0/gems/{faraday-net_http-2.0.3 → faraday-net_http-3.0.0}/LICENSE.md +0 -0
  170. data/vendor/bundle/ruby/3.1.0/gems/{faraday-net_http-2.0.3 → faraday-net_http-3.0.0}/README.md +0 -0
  171. data/vendor/bundle/ruby/3.1.0/gems/faraday-net_http-3.0.0/lib/faraday/adapter/net_http.rb +208 -0
  172. data/vendor/bundle/ruby/3.1.0/gems/faraday-net_http-3.0.0/lib/faraday/net_http/version.rb +7 -0
  173. data/vendor/bundle/ruby/3.1.0/gems/{faraday-net_http-2.0.3 → faraday-net_http-3.0.0}/lib/faraday/net_http.rb +0 -0
  174. data/vendor/bundle/ruby/3.1.0/gems/json-2.6.2/ext/json/Makefile +2 -2
  175. data/vendor/bundle/ruby/3.1.0/gems/json-2.6.2/ext/json/ext/generator/Makefile +2 -2
  176. data/vendor/bundle/ruby/3.1.0/gems/json-2.6.2/ext/json/ext/parser/Makefile +2 -2
  177. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/Gemfile +0 -0
  178. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/LICENSE-DEPENDENCIES.md +0 -0
  179. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/LICENSE.md +0 -0
  180. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/README.md +0 -0
  181. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/bin/nokogiri +0 -0
  182. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/dependencies.yml +0 -0
  183. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/depend +0 -0
  184. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/extconf.rb +1010 -0
  185. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/gumbo.c +584 -0
  186. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/html4_document.c +0 -0
  187. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/html4_element_description.c +0 -0
  188. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/html4_entity_lookup.c +0 -0
  189. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/html4_sax_parser_context.c +0 -0
  190. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/html4_sax_push_parser.c +0 -0
  191. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libexslt/exslt.h +0 -0
  192. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libexslt/exsltconfig.h +0 -0
  193. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libexslt/exsltexports.h +0 -0
  194. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/DOCBparser.h +0 -0
  195. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +0 -0
  196. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +0 -0
  197. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/SAX.h +0 -0
  198. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/SAX2.h +0 -0
  199. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/c14n.h +0 -0
  200. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/catalog.h +0 -0
  201. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/chvalid.h +0 -0
  202. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/debugXML.h +0 -0
  203. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/dict.h +0 -0
  204. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/encoding.h +0 -0
  205. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/entities.h +0 -0
  206. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/globals.h +0 -0
  207. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/hash.h +0 -0
  208. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/list.h +0 -0
  209. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/nanoftp.h +0 -0
  210. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/nanohttp.h +0 -0
  211. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/parser.h +0 -0
  212. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/parserInternals.h +0 -0
  213. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/pattern.h +0 -0
  214. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/relaxng.h +0 -0
  215. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +0 -0
  216. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/schematron.h +0 -0
  217. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/threads.h +0 -0
  218. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/tree.h +0 -0
  219. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/uri.h +0 -0
  220. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/valid.h +0 -0
  221. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xinclude.h +0 -0
  222. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xlink.h +0 -0
  223. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xmlIO.h +0 -0
  224. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +0 -0
  225. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xmlerror.h +0 -0
  226. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xmlexports.h +0 -0
  227. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +0 -0
  228. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +0 -0
  229. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xmlreader.h +0 -0
  230. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +0 -0
  231. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xmlsave.h +0 -0
  232. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +0 -0
  233. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +0 -0
  234. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xmlstring.h +0 -0
  235. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +0 -0
  236. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xmlversion.h +0 -0
  237. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +0 -0
  238. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xpath.h +0 -0
  239. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +0 -0
  240. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxml2/libxml/xpointer.h +0 -0
  241. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/attributes.h +0 -0
  242. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/documents.h +0 -0
  243. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/extensions.h +0 -0
  244. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/extra.h +0 -0
  245. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/functions.h +0 -0
  246. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/imports.h +0 -0
  247. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/keys.h +0 -0
  248. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/namespaces.h +0 -0
  249. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/numbersInternals.h +0 -0
  250. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/pattern.h +0 -0
  251. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/preproc.h +0 -0
  252. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/security.h +0 -0
  253. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/templates.h +0 -0
  254. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/transform.h +0 -0
  255. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/variables.h +0 -0
  256. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/xslt.h +0 -0
  257. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/xsltInternals.h +0 -0
  258. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/include/libxslt/xsltconfig.h +180 -0
  259. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/xsltexports.h +0 -0
  260. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/xsltlocale.h +0 -0
  261. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/include/libxslt/xsltutils.h +0 -0
  262. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/libxml2_backwards_compat.c +0 -0
  263. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/nokogiri.c +0 -0
  264. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/nokogiri.h +231 -0
  265. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/test_global_handlers.c +0 -0
  266. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_attr.c +103 -0
  267. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_attribute_decl.c +70 -0
  268. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_cdata.c +57 -0
  269. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/xml_comment.c +0 -0
  270. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_document.c +680 -0
  271. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/xml_document_fragment.c +0 -0
  272. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_dtd.c +208 -0
  273. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/xml_element_content.c +0 -0
  274. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_element_decl.c +69 -0
  275. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/xml_encoding_handler.c +0 -0
  276. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_entity_decl.c +112 -0
  277. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/xml_entity_reference.c +0 -0
  278. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/xml_namespace.c +0 -0
  279. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_node.c +2165 -0
  280. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_node_set.c +498 -0
  281. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/xml_processing_instruction.c +0 -0
  282. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_reader.c +770 -0
  283. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/xml_relax_ng.c +0 -0
  284. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/xml_sax_parser.c +0 -0
  285. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/xml_sax_parser_context.c +0 -0
  286. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/xml_sax_push_parser.c +0 -0
  287. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_schema.c +284 -0
  288. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/xml_syntax_error.c +0 -0
  289. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_text.c +48 -0
  290. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_xpath_context.c +406 -0
  291. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/ext/nokogiri/xslt_stylesheet.c +0 -0
  292. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/gumbo-parser/CHANGES.md +0 -0
  293. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/gumbo-parser/Makefile +0 -0
  294. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/gumbo-parser/THANKS +0 -0
  295. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/lib/nokogiri/2.6/nokogiri.so +0 -0
  296. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/lib/nokogiri/2.7/nokogiri.so +0 -0
  297. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/lib/nokogiri/3.0/nokogiri.so +0 -0
  298. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/lib/nokogiri/3.1/nokogiri.so +0 -0
  299. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/class_resolver.rb +0 -0
  300. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/css/node.rb +0 -0
  301. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/css/parser.rb +0 -0
  302. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/css/parser.y +0 -0
  303. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/css/parser_extras.rb +0 -0
  304. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/css/syntax_error.rb +0 -0
  305. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/css/tokenizer.rb +0 -0
  306. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/css/tokenizer.rex +0 -0
  307. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/css/xpath_visitor.rb +0 -0
  308. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/css.rb +0 -0
  309. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/decorators/slop.rb +0 -0
  310. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/extension.rb +0 -0
  311. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/gumbo.rb +0 -0
  312. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/html.rb +0 -0
  313. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/html4/builder.rb +0 -0
  314. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/html4/document.rb +0 -0
  315. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/html4/document_fragment.rb +0 -0
  316. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/html4/element_description.rb +0 -0
  317. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/html4/element_description_defaults.rb +0 -0
  318. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/html4/entity_lookup.rb +0 -0
  319. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/html4/sax/parser.rb +0 -0
  320. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/html4/sax/parser_context.rb +0 -0
  321. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/html4/sax/push_parser.rb +0 -0
  322. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/html4.rb +0 -0
  323. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/html5/document.rb +0 -0
  324. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/html5/document_fragment.rb +0 -0
  325. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/html5/node.rb +0 -0
  326. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/html5.rb +0 -0
  327. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/jruby/dependencies.rb +0 -0
  328. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/syntax_error.rb +0 -0
  329. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/lib/nokogiri/version/constant.rb +6 -0
  330. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/version/info.rb +0 -0
  331. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/version.rb +0 -0
  332. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/attr.rb +0 -0
  333. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/attribute_decl.rb +0 -0
  334. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/builder.rb +0 -0
  335. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/cdata.rb +0 -0
  336. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/character_data.rb +0 -0
  337. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/document.rb +0 -0
  338. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/document_fragment.rb +0 -0
  339. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/dtd.rb +0 -0
  340. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/element_content.rb +0 -0
  341. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/element_decl.rb +0 -0
  342. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/entity_decl.rb +0 -0
  343. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/entity_reference.rb +0 -0
  344. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/namespace.rb +0 -0
  345. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/node/save_options.rb +0 -0
  346. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/node.rb +0 -0
  347. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/node_set.rb +0 -0
  348. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/notation.rb +0 -0
  349. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/parse_options.rb +0 -0
  350. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/pp/character_data.rb +0 -0
  351. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/pp/node.rb +0 -0
  352. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/pp.rb +0 -0
  353. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/processing_instruction.rb +0 -0
  354. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/lib/nokogiri/xml/reader.rb +105 -0
  355. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/relax_ng.rb +0 -0
  356. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/sax/document.rb +0 -0
  357. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/sax/parser.rb +0 -0
  358. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/sax/parser_context.rb +0 -0
  359. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/sax/push_parser.rb +0 -0
  360. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/sax.rb +0 -0
  361. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/schema.rb +0 -0
  362. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/searchable.rb +0 -0
  363. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/syntax_error.rb +0 -0
  364. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/text.rb +0 -0
  365. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/xpath/syntax_error.rb +0 -0
  366. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/xpath.rb +0 -0
  367. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml/xpath_context.rb +0 -0
  368. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xml.rb +0 -0
  369. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xslt/stylesheet.rb +0 -0
  370. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri/xslt.rb +0 -0
  371. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/nokogiri.rb +0 -0
  372. data/vendor/bundle/ruby/3.1.0/gems/{nokogiri-1.13.6-x86_64-linux → nokogiri-1.13.8-x86_64-linux}/lib/xsd/xmlparser/nokogiri.rb +0 -0
  373. data/vendor/bundle/ruby/3.1.0/gems/{octokit-4.23.0 → octokit-5.3.0}/CONTRIBUTING.md +0 -0
  374. data/vendor/bundle/ruby/3.1.0/gems/{octokit-4.23.0 → octokit-5.3.0}/LICENSE.md +0 -0
  375. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/README.md +821 -0
  376. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/Rakefile +24 -0
  377. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/ext/sawyer/relation.rb +12 -0
  378. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/arguments.rb +14 -0
  379. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/authentication.rb +80 -0
  380. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/actions_secrets.rb +57 -0
  381. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/actions_workflow_jobs.rb +61 -0
  382. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/actions_workflow_runs.rb +121 -0
  383. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/actions_workflows.rb +66 -0
  384. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/apps.rb +222 -0
  385. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/authorizations.rb +185 -0
  386. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/checks.rb +200 -0
  387. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/commit_branches.rb +20 -0
  388. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/commit_comments.rb +95 -0
  389. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/commit_pulls.rb +20 -0
  390. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/commits.rb +236 -0
  391. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/community_profile.rb +21 -0
  392. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/contents.rb +167 -0
  393. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/deployments.rb +82 -0
  394. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/downloads.rb +49 -0
  395. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/emojis.rb +18 -0
  396. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/events.rb +151 -0
  397. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/feeds.rb +32 -0
  398. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/gists.rb +234 -0
  399. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/gitignore.rb +43 -0
  400. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/hooks.rb +297 -0
  401. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/issues.rb +367 -0
  402. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/labels.rb +156 -0
  403. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/legacy_search.rb +42 -0
  404. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/licenses.rb +42 -0
  405. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/markdown.rb +27 -0
  406. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/marketplace.rb +56 -0
  407. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/meta.rb +20 -0
  408. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/milestones.rb +87 -0
  409. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/notifications.rb +167 -0
  410. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/oauth_applications.rb +116 -0
  411. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/objects.rb +141 -0
  412. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/organizations.rb +807 -0
  413. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/pages.rb +61 -0
  414. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/projects.rb +294 -0
  415. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/pub_sub_hubbub.rb +111 -0
  416. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/pull_requests.rb +313 -0
  417. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/rate_limit.rb +52 -0
  418. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/reactions.rb +153 -0
  419. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/refs.rb +133 -0
  420. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/releases.rb +164 -0
  421. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/repositories.rb +779 -0
  422. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/repository_invitations.rb +96 -0
  423. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/reviews.rb +227 -0
  424. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/say.rb +18 -0
  425. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/search.rb +104 -0
  426. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/service_status.rb +48 -0
  427. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/source_import.rb +156 -0
  428. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/stats.rb +108 -0
  429. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/statuses.rb +47 -0
  430. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/traffic.rb +64 -0
  431. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/users.rb +435 -0
  432. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client.rb +268 -0
  433. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/configurable.rb +155 -0
  434. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/connection.rb +210 -0
  435. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/default.rb +187 -0
  436. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/enterprise_admin_client/admin_stats.rb +119 -0
  437. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/enterprise_admin_client/license.rb +17 -0
  438. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/enterprise_admin_client/orgs.rb +26 -0
  439. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/enterprise_admin_client/search_indexing.rb +82 -0
  440. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/enterprise_admin_client/users.rb +129 -0
  441. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/enterprise_admin_client.rb +46 -0
  442. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/enterprise_management_console_client/management_console.rb +176 -0
  443. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/enterprise_management_console_client.rb +56 -0
  444. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/error.rb +363 -0
  445. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/gist.rb +35 -0
  446. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/middleware/follow_redirects.rb +135 -0
  447. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/organization.rb +19 -0
  448. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/rate_limit.rb +33 -0
  449. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/repo_arguments.rb +18 -0
  450. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/repository.rb +95 -0
  451. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/response/base_middleware.rb +10 -0
  452. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/response/feed_parser.rb +17 -0
  453. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/response/raise_error.rb +19 -0
  454. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/user.rb +21 -0
  455. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/version.rb +19 -0
  456. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/warnable.rb +16 -0
  457. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit.rb +66 -0
  458. data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/octokit.gemspec +25 -0
  459. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/2.0-Upgrade.md +0 -0
  460. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/CHANGELOG.md +426 -0
  461. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/Gemfile +14 -0
  462. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/LICENSE.txt +0 -0
  463. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/README.md +217 -0
  464. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/Rakefile +52 -0
  465. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/SECURITY.md +0 -0
  466. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/bin/console +0 -0
  467. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/data/list.txt +14066 -0
  468. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/lib/public_suffix/domain.rb +0 -0
  469. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/lib/public_suffix/errors.rb +0 -0
  470. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/lib/public_suffix/list.rb +247 -0
  471. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/lib/public_suffix/rule.rb +350 -0
  472. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/lib/public_suffix/version.rb +15 -0
  473. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/lib/public_suffix.rb +177 -0
  474. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/public_suffix.gemspec +29 -0
  475. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/test/acceptance_test.rb +131 -0
  476. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/test/benchmarks/bm_find.rb +0 -0
  477. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/test/benchmarks/bm_find_all.rb +0 -0
  478. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/test/benchmarks/bm_names.rb +0 -0
  479. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/test/benchmarks/bm_select.rb +0 -0
  480. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/test/benchmarks/bm_select_incremental.rb +0 -0
  481. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/test/benchmarks/bm_valid.rb +0 -0
  482. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/test/profilers/domain_profiler.rb +0 -0
  483. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/test/profilers/find_profiler.rb +0 -0
  484. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/test/profilers/find_profiler_jp.rb +0 -0
  485. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/test/profilers/initialization_profiler.rb +0 -0
  486. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/test/profilers/list_profsize.rb +0 -0
  487. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/test/profilers/object_binsize.rb +0 -0
  488. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/test/psl_test.rb +52 -0
  489. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/test/test_helper.rb +0 -0
  490. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/test/tests.txt +0 -0
  491. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/test/unit/domain_test.rb +106 -0
  492. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/test/unit/errors_test.rb +0 -0
  493. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/test/unit/list_test.rb +241 -0
  494. data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/test/unit/public_suffix_test.rb +0 -0
  495. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/test/unit/rule_test.rb +222 -0
  496. data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.4/CHANGELOG.md +708 -0
  497. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/CONTRIBUTING.md +0 -0
  498. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/MIT-LICENSE +0 -0
  499. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/README.rdoc +0 -0
  500. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/Rakefile +0 -0
  501. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/SPEC.rdoc +0 -0
  502. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/bin/rackup +0 -0
  503. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/contrib/rack.png +0 -0
  504. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/contrib/rack.svg +0 -0
  505. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/contrib/rack_logo.svg +0 -0
  506. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/contrib/rdoc.css +0 -0
  507. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/example/lobster.ru +0 -0
  508. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/example/protectedlobster.rb +0 -0
  509. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/example/protectedlobster.ru +0 -0
  510. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/auth/abstract/handler.rb +0 -0
  511. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/auth/abstract/request.rb +0 -0
  512. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/auth/basic.rb +0 -0
  513. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/auth/digest/md5.rb +0 -0
  514. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/auth/digest/nonce.rb +0 -0
  515. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/auth/digest/params.rb +0 -0
  516. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/auth/digest/request.rb +0 -0
  517. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/body_proxy.rb +0 -0
  518. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/builder.rb +0 -0
  519. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/cascade.rb +0 -0
  520. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/chunked.rb +0 -0
  521. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/common_logger.rb +0 -0
  522. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/conditional_get.rb +0 -0
  523. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/config.rb +0 -0
  524. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/content_length.rb +0 -0
  525. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/content_type.rb +0 -0
  526. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/core_ext/regexp.rb +0 -0
  527. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/deflater.rb +0 -0
  528. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/directory.rb +0 -0
  529. data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.4/lib/rack/etag.rb +77 -0
  530. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/events.rb +0 -0
  531. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/file.rb +0 -0
  532. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/files.rb +0 -0
  533. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/handler/cgi.rb +0 -0
  534. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/handler/fastcgi.rb +0 -0
  535. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/handler/lsws.rb +0 -0
  536. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/handler/scgi.rb +0 -0
  537. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/handler/thin.rb +0 -0
  538. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/handler/webrick.rb +0 -0
  539. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/handler.rb +0 -0
  540. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/head.rb +0 -0
  541. data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.4/lib/rack/lint.rb +806 -0
  542. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/lobster.rb +0 -0
  543. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/lock.rb +0 -0
  544. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/logger.rb +0 -0
  545. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/media_type.rb +0 -0
  546. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/method_override.rb +0 -0
  547. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/mime.rb +0 -0
  548. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/mock.rb +0 -0
  549. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/multipart/generator.rb +0 -0
  550. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/multipart/parser.rb +0 -0
  551. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/multipart/uploaded_file.rb +0 -0
  552. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/multipart.rb +0 -0
  553. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/null_logger.rb +0 -0
  554. data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.4/lib/rack/query_parser.rb +221 -0
  555. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/recursive.rb +0 -0
  556. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/reloader.rb +0 -0
  557. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/request.rb +0 -0
  558. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/response.rb +0 -0
  559. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/rewindable_input.rb +0 -0
  560. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/runtime.rb +0 -0
  561. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/sendfile.rb +0 -0
  562. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/server.rb +0 -0
  563. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/session/abstract/id.rb +0 -0
  564. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/session/cookie.rb +0 -0
  565. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/session/memcache.rb +0 -0
  566. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/session/pool.rb +0 -0
  567. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/show_exceptions.rb +0 -0
  568. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/show_status.rb +0 -0
  569. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/static.rb +0 -0
  570. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/tempfile_reaper.rb +0 -0
  571. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/urlmap.rb +0 -0
  572. data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.4/lib/rack/utils.rb +616 -0
  573. data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.4/lib/rack/version.rb +29 -0
  574. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack.rb +0 -0
  575. data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/rack.gemspec +0 -0
  576. data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/History.md +349 -0
  577. data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/MIT-LICENSE.txt +20 -0
  578. data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/README.md +139 -0
  579. data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/lib/rack/mock_session.rb +2 -0
  580. data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/lib/rack/test/cookie_jar.rb +246 -0
  581. data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/lib/rack/test/methods.rb +95 -0
  582. data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/lib/rack/test/mock_digest_request.rb +35 -0
  583. data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/lib/rack/test/uploaded_file.rb +109 -0
  584. data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/lib/rack/test/utils.rb +156 -0
  585. data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/lib/rack/test/version.rb +5 -0
  586. data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/lib/rack/test.rb +414 -0
  587. data/vendor/bundle/ruby/3.1.0/gems/redcarpet-3.5.1/ext/redcarpet/Makefile +2 -2
  588. data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/Gemfile +0 -0
  589. data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/LICENSE.md +0 -0
  590. data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/README.md +0 -0
  591. data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/Rakefile +0 -0
  592. data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/lib/sawyer/agent.rb +0 -0
  593. data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/lib/sawyer/link_parsers/hal.rb +0 -0
  594. data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/lib/sawyer/link_parsers/simple.rb +0 -0
  595. data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/lib/sawyer/relation.rb +0 -0
  596. data/vendor/bundle/ruby/3.1.0/gems/sawyer-0.9.2/lib/sawyer/resource.rb +160 -0
  597. data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/lib/sawyer/response.rb +0 -0
  598. data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/lib/sawyer/serializer.rb +0 -0
  599. data/vendor/bundle/ruby/3.1.0/gems/sawyer-0.9.2/lib/sawyer.rb +17 -0
  600. data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/sawyer.gemspec +0 -0
  601. data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/script/bootstrap +0 -0
  602. data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/script/console +0 -0
  603. data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/script/package +0 -0
  604. data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/script/release +0 -0
  605. data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/script/test +0 -0
  606. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/CHANGES +2089 -0
  607. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/Gemfile +0 -0
  608. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/LICENSE +0 -0
  609. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/NOTICE +0 -0
  610. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/README.md +0 -0
  611. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/server.rb +283 -0
  612. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/atoms/findElements.js +0 -0
  613. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/atoms/getAttribute.js +0 -0
  614. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/atoms/isDisplayed.js +0 -0
  615. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/atoms/mutationListener.js +0 -0
  616. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/atoms.rb +0 -0
  617. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/bidi/session.rb +0 -0
  618. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/bidi.rb +0 -0
  619. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/chrome/driver.rb +0 -0
  620. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/chrome/features.rb +0 -0
  621. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/chrome/options.rb +275 -0
  622. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/chrome/profile.rb +0 -0
  623. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/chrome/service.rb +0 -0
  624. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/chrome.rb +41 -0
  625. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/action_builder.rb +0 -0
  626. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/alert.rb +0 -0
  627. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/driver.rb +364 -0
  628. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/downloads_files.rb +0 -0
  629. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb +0 -0
  630. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_addons.rb +0 -0
  631. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_apple_permissions.rb +0 -0
  632. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_authentication.rb +0 -0
  633. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_bidi.rb +0 -0
  634. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_casting.rb +0 -0
  635. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_cdp.rb +0 -0
  636. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_context.rb +0 -0
  637. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_debugger.rb +0 -0
  638. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +0 -0
  639. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_launching.rb +0 -0
  640. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_location.rb +0 -0
  641. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb +0 -0
  642. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_logs.rb +0 -0
  643. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb +0 -0
  644. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +0 -0
  645. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb +71 -0
  646. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_permissions.rb +0 -0
  647. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_pinned_scripts.rb +0 -0
  648. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_session_id.rb +0 -0
  649. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb +0 -0
  650. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/prints_page.rb +0 -0
  651. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/driver_extensions/uploads_files.rb +0 -0
  652. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/element.rb +0 -0
  653. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/error.rb +0 -0
  654. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/file_reaper.rb +0 -0
  655. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/html5/local_storage.rb +0 -0
  656. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/html5/session_storage.rb +0 -0
  657. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/html5/shared_web_storage.rb +0 -0
  658. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/interactions/input_device.rb +0 -0
  659. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/interactions/interaction.rb +0 -0
  660. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/interactions/interactions.rb +0 -0
  661. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/interactions/key_actions.rb +0 -0
  662. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/interactions/key_input.rb +0 -0
  663. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/interactions/none_input.rb +0 -0
  664. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/interactions/pause.rb +0 -0
  665. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/interactions/pointer_actions.rb +352 -0
  666. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/interactions/pointer_cancel.rb +0 -0
  667. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/interactions/pointer_event_properties.rb +0 -0
  668. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/interactions/pointer_input.rb +0 -0
  669. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/interactions/pointer_move.rb +0 -0
  670. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/interactions/pointer_press.rb +0 -0
  671. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/interactions/scroll.rb +0 -0
  672. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/interactions/scroll_origin.rb +0 -0
  673. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/interactions/typing_interaction.rb +0 -0
  674. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/interactions/wheel_actions.rb +113 -0
  675. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/interactions/wheel_input.rb +0 -0
  676. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/keys.rb +0 -0
  677. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/log_entry.rb +0 -0
  678. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/logger.rb +0 -0
  679. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/logs.rb +0 -0
  680. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/manager.rb +150 -0
  681. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/navigation.rb +0 -0
  682. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/options.rb +177 -0
  683. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/platform.rb +0 -0
  684. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/port_prober.rb +0 -0
  685. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/profile_helper.rb +0 -0
  686. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/proxy.rb +0 -0
  687. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/search_context.rb +0 -0
  688. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/service.rb +0 -0
  689. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/service_manager.rb +0 -0
  690. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/shadow_root.rb +0 -0
  691. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/socket_lock.rb +0 -0
  692. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/socket_poller.rb +0 -0
  693. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/takes_screenshot.rb +66 -0
  694. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/target_locator.rb +0 -0
  695. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/timeouts.rb +0 -0
  696. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/virtual_authenticator/credential.rb +83 -0
  697. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator.rb +73 -0
  698. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator_options.rb +62 -0
  699. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/common/wait.rb +0 -0
  700. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/websocket_connection.rb +156 -0
  701. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/window.rb +159 -0
  702. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/zipper.rb +91 -0
  703. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common.rb +97 -0
  704. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/devtools/console_event.rb +0 -0
  705. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/devtools/exception_event.rb +0 -0
  706. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/devtools/mutation_event.rb +0 -0
  707. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/devtools/network_interceptor.rb +176 -0
  708. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/devtools/pinned_script.rb +0 -0
  709. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/devtools/request.rb +0 -0
  710. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/devtools/response.rb +0 -0
  711. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/devtools.rb +87 -0
  712. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/edge/driver.rb +0 -0
  713. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/edge/features.rb +0 -0
  714. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/edge/options.rb +0 -0
  715. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/edge/profile.rb +0 -0
  716. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/edge/service.rb +0 -0
  717. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/edge.rb +0 -0
  718. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/firefox/driver.rb +0 -0
  719. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/firefox/extension.rb +0 -0
  720. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/firefox/features.rb +0 -0
  721. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/firefox/options.rb +0 -0
  722. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/firefox/profile.rb +0 -0
  723. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/firefox/profiles_ini.rb +0 -0
  724. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/firefox/service.rb +0 -0
  725. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/firefox/util.rb +0 -0
  726. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/firefox.rb +55 -0
  727. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/ie/driver.rb +0 -0
  728. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/ie/options.rb +0 -0
  729. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/ie/service.rb +0 -0
  730. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/ie.rb +28 -0
  731. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/remote/bridge.rb +705 -0
  732. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/remote/capabilities.rb +0 -0
  733. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/remote/commands.rb +172 -0
  734. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/remote/driver.rb +60 -0
  735. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/remote/http/common.rb +0 -0
  736. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/remote/http/curb.rb +0 -0
  737. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/remote/http/default.rb +0 -0
  738. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/remote/response.rb +0 -0
  739. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/remote/server_error.rb +0 -0
  740. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/remote.rb +0 -0
  741. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/safari/driver.rb +0 -0
  742. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/safari/features.rb +0 -0
  743. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/safari/options.rb +0 -0
  744. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/safari/service.rb +0 -0
  745. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/safari.rb +59 -0
  746. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/support/abstract_event_listener.rb +0 -0
  747. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/support/block_event_listener.rb +0 -0
  748. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/support/cdp/domain.rb.erb +0 -0
  749. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/support/cdp_client_generator.rb +0 -0
  750. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/support/color.rb +0 -0
  751. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/support/escaper.rb +0 -0
  752. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/support/event_firing_bridge.rb +0 -0
  753. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/support/guards/guard.rb +0 -0
  754. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/support/guards/guard_condition.rb +0 -0
  755. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/support/guards.rb +0 -0
  756. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/support/relative_locator.rb +0 -0
  757. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/support/select.rb +0 -0
  758. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver/support.rb +0 -0
  759. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/version.rb +24 -0
  760. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver.rb +0 -0
  761. data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium-webdriver.rb +0 -0
  762. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/selenium-webdriver.gemspec +66 -0
  763. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/CHANGELOG +1069 -0
  764. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/MIT-LICENSE +0 -0
  765. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/README.rdoc +933 -0
  766. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/bin/sequel +0 -0
  767. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/advanced_associations.rdoc +0 -0
  768. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/association_basics.rdoc +0 -0
  769. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/bin_sequel.rdoc +0 -0
  770. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/doc/cheat_sheet.rdoc +255 -0
  771. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/code_order.rdoc +0 -0
  772. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/core_extensions.rdoc +0 -0
  773. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/dataset_basics.rdoc +0 -0
  774. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/dataset_filtering.rdoc +0 -0
  775. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/extensions.rdoc +0 -0
  776. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/fork_safety.rdoc +0 -0
  777. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/mass_assignment.rdoc +0 -0
  778. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/migration.rdoc +0 -0
  779. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/model_dataset_method_design.rdoc +0 -0
  780. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/model_hooks.rdoc +0 -0
  781. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/model_plugins.rdoc +0 -0
  782. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/mssql_stored_procedures.rdoc +0 -0
  783. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/object_model.rdoc +0 -0
  784. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/doc/opening_databases.rdoc +425 -0
  785. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/postgresql.rdoc +0 -0
  786. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/prepared_statements.rdoc +0 -0
  787. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/querying.rdoc +0 -0
  788. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/reflection.rdoc +0 -0
  789. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.0.0.txt +0 -0
  790. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.1.0.txt +0 -0
  791. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.10.0.txt +0 -0
  792. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.11.0.txt +0 -0
  793. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.12.0.txt +0 -0
  794. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.13.0.txt +0 -0
  795. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.14.0.txt +0 -0
  796. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.15.0.txt +0 -0
  797. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.16.0.txt +0 -0
  798. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.17.0.txt +0 -0
  799. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.18.0.txt +0 -0
  800. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.19.0.txt +0 -0
  801. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.2.0.txt +0 -0
  802. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.20.0.txt +0 -0
  803. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.21.0.txt +0 -0
  804. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.22.0.txt +0 -0
  805. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.23.0.txt +0 -0
  806. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.24.0.txt +0 -0
  807. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.25.0.txt +0 -0
  808. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.26.0.txt +0 -0
  809. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.27.0.txt +0 -0
  810. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.28.0.txt +0 -0
  811. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.29.0.txt +0 -0
  812. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.3.0.txt +0 -0
  813. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.30.0.txt +0 -0
  814. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.31.0.txt +0 -0
  815. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.32.0.txt +0 -0
  816. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.33.0.txt +0 -0
  817. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.34.0.txt +0 -0
  818. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.35.0.txt +0 -0
  819. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.36.0.txt +0 -0
  820. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.37.0.txt +0 -0
  821. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.38.0.txt +0 -0
  822. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.39.0.txt +0 -0
  823. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.4.0.txt +0 -0
  824. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.40.0.txt +0 -0
  825. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.41.0.txt +0 -0
  826. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.42.0.txt +0 -0
  827. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.43.0.txt +0 -0
  828. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.44.0.txt +0 -0
  829. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.45.0.txt +0 -0
  830. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.46.0.txt +0 -0
  831. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.47.0.txt +0 -0
  832. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.48.0.txt +0 -0
  833. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.49.0.txt +0 -0
  834. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.5.0.txt +0 -0
  835. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.50.0.txt +0 -0
  836. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.51.0.txt +0 -0
  837. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.52.0.txt +0 -0
  838. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.53.0.txt +0 -0
  839. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.54.0.txt +0 -0
  840. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.55.0.txt +0 -0
  841. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.56.0.txt +0 -0
  842. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/doc/release_notes/5.57.0.txt +23 -0
  843. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/doc/release_notes/5.58.0.txt +31 -0
  844. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/doc/release_notes/5.59.0.txt +73 -0
  845. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.6.0.txt +0 -0
  846. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.7.0.txt +0 -0
  847. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.8.0.txt +0 -0
  848. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/release_notes/5.9.0.txt +0 -0
  849. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/schema_modification.rdoc +0 -0
  850. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/security.rdoc +0 -0
  851. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/sharding.rdoc +0 -0
  852. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/sql.rdoc +0 -0
  853. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/doc/testing.rdoc +186 -0
  854. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/thread_safety.rdoc +0 -0
  855. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/transactions.rdoc +0 -0
  856. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/validations.rdoc +0 -0
  857. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/virtual_rows.rdoc +0 -0
  858. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/ado/access.rb +0 -0
  859. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/ado/mssql.rb +0 -0
  860. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/ado.rb +0 -0
  861. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/amalgalite.rb +0 -0
  862. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/ibmdb.rb +0 -0
  863. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/db2.rb +0 -0
  864. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/adapters/jdbc/derby.rb +318 -0
  865. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/adapters/jdbc/h2.rb +287 -0
  866. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/adapters/jdbc/hsqldb.rb +226 -0
  867. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/jtds.rb +0 -0
  868. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/mssql.rb +0 -0
  869. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/mysql.rb +0 -0
  870. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/oracle.rb +0 -0
  871. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/postgresql.rb +0 -0
  872. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/sqlanywhere.rb +0 -0
  873. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/sqlite.rb +0 -0
  874. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/sqlserver.rb +0 -0
  875. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/transactions.rb +0 -0
  876. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc.rb +0 -0
  877. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/mock.rb +0 -0
  878. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/mysql.rb +0 -0
  879. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/mysql2.rb +0 -0
  880. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/odbc/db2.rb +0 -0
  881. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/odbc/mssql.rb +0 -0
  882. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/odbc/oracle.rb +0 -0
  883. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/odbc.rb +0 -0
  884. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/oracle.rb +0 -0
  885. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/adapters/postgres.rb +822 -0
  886. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/postgresql.rb +0 -0
  887. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/shared/access.rb +0 -0
  888. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/adapters/shared/db2.rb +492 -0
  889. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/adapters/shared/mssql.rb +1163 -0
  890. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/adapters/shared/mysql.rb +1092 -0
  891. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/adapters/shared/oracle.rb +721 -0
  892. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/adapters/shared/postgres.rb +2298 -0
  893. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/shared/sqlanywhere.rb +0 -0
  894. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/shared/sqlite.rb +0 -0
  895. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/sqlanywhere.rb +0 -0
  896. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/sqlite.rb +0 -0
  897. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/tinytds.rb +0 -0
  898. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/utils/columns_limit_1.rb +0 -0
  899. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/utils/emulate_offset_with_reverse_and_count.rb +0 -0
  900. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/utils/emulate_offset_with_row_number.rb +0 -0
  901. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/utils/mysql_mysql2.rb +0 -0
  902. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/utils/mysql_prepared_statements.rb +0 -0
  903. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/utils/replace.rb +0 -0
  904. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/utils/split_alter_table.rb +0 -0
  905. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/utils/stored_procedures.rb +0 -0
  906. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/utils/unmodified_identifiers.rb +0 -0
  907. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/ast_transformer.rb +0 -0
  908. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/connection_pool/sharded_single.rb +0 -0
  909. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/connection_pool/sharded_threaded.rb +0 -0
  910. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/connection_pool/single.rb +0 -0
  911. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/connection_pool/threaded.rb +0 -0
  912. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/connection_pool.rb +0 -0
  913. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/core.rb +0 -0
  914. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/database/connecting.rb +0 -0
  915. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/database/dataset.rb +0 -0
  916. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/database/dataset_defaults.rb +0 -0
  917. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/database/features.rb +0 -0
  918. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/database/logging.rb +0 -0
  919. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/database/misc.rb +0 -0
  920. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/database/query.rb +0 -0
  921. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/database/schema_generator.rb +650 -0
  922. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/database/schema_methods.rb +1081 -0
  923. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/database/transactions.rb +0 -0
  924. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/database.rb +0 -0
  925. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/dataset/actions.rb +1293 -0
  926. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/dataset/dataset_module.rb +0 -0
  927. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/dataset/features.rb +270 -0
  928. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/dataset/graph.rb +0 -0
  929. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/dataset/misc.rb +0 -0
  930. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/dataset/placeholder_literalizer.rb +0 -0
  931. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/dataset/prepared_statements.rb +0 -0
  932. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/dataset/query.rb +1485 -0
  933. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/dataset/sql.rb +1811 -0
  934. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/dataset.rb +0 -0
  935. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/deprecated.rb +0 -0
  936. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/exceptions.rb +0 -0
  937. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/_model_constraint_validations.rb +0 -0
  938. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/_model_pg_row.rb +0 -0
  939. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/_pretty_table.rb +0 -0
  940. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/any_not_empty.rb +0 -0
  941. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/arbitrary_servers.rb +0 -0
  942. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/async_thread_pool.rb +0 -0
  943. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/auto_literal_strings.rb +0 -0
  944. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/blank.rb +0 -0
  945. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/caller_logging.rb +0 -0
  946. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/columns_introspection.rb +0 -0
  947. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/connection_expiration.rb +0 -0
  948. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/connection_validator.rb +0 -0
  949. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/constant_sql_override.rb +0 -0
  950. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/constraint_validations.rb +0 -0
  951. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/core_extensions.rb +0 -0
  952. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/core_refinements.rb +0 -0
  953. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/current_datetime_timestamp.rb +0 -0
  954. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/dataset_source_alias.rb +0 -0
  955. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/date_arithmetic.rb +0 -0
  956. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/date_parse_input_handler.rb +0 -0
  957. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/datetime_parse_to_time.rb +0 -0
  958. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/duplicate_columns_handler.rb +0 -0
  959. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/empty_array_consider_nulls.rb +0 -0
  960. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/error_sql.rb +0 -0
  961. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/escaped_like.rb +0 -0
  962. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/eval_inspect.rb +0 -0
  963. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/exclude_or_null.rb +0 -0
  964. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/fiber_concurrency.rb +0 -0
  965. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/freeze_datasets.rb +0 -0
  966. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/from_block.rb +0 -0
  967. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/graph_each.rb +0 -0
  968. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/identifier_mangling.rb +0 -0
  969. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/implicit_subquery.rb +0 -0
  970. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/index_caching.rb +0 -0
  971. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/inflector.rb +0 -0
  972. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/integer64.rb +0 -0
  973. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/extensions/is_distinct_from.rb +139 -0
  974. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/looser_typecasting.rb +0 -0
  975. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/migration.rb +0 -0
  976. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/mssql_emulate_lateral_with_apply.rb +0 -0
  977. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/named_timezones.rb +0 -0
  978. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/no_auto_literal_strings.rb +0 -0
  979. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/null_dataset.rb +0 -0
  980. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pagination.rb +0 -0
  981. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_array.rb +0 -0
  982. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_array_ops.rb +0 -0
  983. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_enum.rb +0 -0
  984. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_extended_date_support.rb +0 -0
  985. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/extensions/pg_hstore.rb +348 -0
  986. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_hstore_ops.rb +0 -0
  987. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_inet.rb +0 -0
  988. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_inet_ops.rb +0 -0
  989. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_interval.rb +0 -0
  990. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_json.rb +0 -0
  991. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/extensions/pg_json_ops.rb +804 -0
  992. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_loose_count.rb +0 -0
  993. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_multirange.rb +0 -0
  994. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_range.rb +0 -0
  995. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_range_ops.rb +0 -0
  996. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_row.rb +0 -0
  997. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_row_ops.rb +0 -0
  998. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_static_cache_updater.rb +0 -0
  999. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_timestamptz.rb +0 -0
  1000. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pretty_table.rb +0 -0
  1001. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/query.rb +0 -0
  1002. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/round_timestamps.rb +0 -0
  1003. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/run_transaction_hooks.rb +0 -0
  1004. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/s.rb +0 -0
  1005. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/schema_caching.rb +0 -0
  1006. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/schema_dumper.rb +0 -0
  1007. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/select_remove.rb +0 -0
  1008. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/sequel_4_dataset_methods.rb +0 -0
  1009. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/server_block.rb +0 -0
  1010. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/server_logging.rb +0 -0
  1011. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/split_array_nil.rb +0 -0
  1012. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/sql_comments.rb +0 -0
  1013. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/sql_expr.rb +0 -0
  1014. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/sql_log_normalizer.rb +0 -0
  1015. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/sqlite_json_ops.rb +0 -0
  1016. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/string_agg.rb +0 -0
  1017. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/string_date_time.rb +0 -0
  1018. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/symbol_aref.rb +0 -0
  1019. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/symbol_aref_refinement.rb +0 -0
  1020. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/symbol_as.rb +0 -0
  1021. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/symbol_as_refinement.rb +0 -0
  1022. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/synchronize_sql.rb +0 -0
  1023. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/thread_local_timezones.rb +0 -0
  1024. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/to_dot.rb +0 -0
  1025. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/virtual_row_method_block.rb +0 -0
  1026. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/model/associations.rb +4014 -0
  1027. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/model/base.rb +2270 -0
  1028. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/model/dataset_module.rb +0 -0
  1029. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/model/default_inflections.rb +0 -0
  1030. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/model/errors.rb +0 -0
  1031. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/model/exceptions.rb +0 -0
  1032. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/model/inflections.rb +0 -0
  1033. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/model/plugins.rb +0 -0
  1034. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/model.rb +0 -0
  1035. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/accessed_columns.rb +0 -0
  1036. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/active_model.rb +0 -0
  1037. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/after_initialize.rb +0 -0
  1038. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/association_dependencies.rb +0 -0
  1039. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/association_lazy_eager_option.rb +0 -0
  1040. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/association_multi_add_remove.rb +0 -0
  1041. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/association_pks.rb +0 -0
  1042. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/association_proxies.rb +0 -0
  1043. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/async_thread_pool.rb +0 -0
  1044. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/auto_restrict_eager_graph.rb +0 -0
  1045. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/auto_validations.rb +0 -0
  1046. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/auto_validations_constraint_validations_presence_message.rb +0 -0
  1047. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/before_after_save.rb +0 -0
  1048. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/blacklist_security.rb +0 -0
  1049. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/boolean_readers.rb +0 -0
  1050. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/boolean_subsets.rb +0 -0
  1051. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/caching.rb +0 -0
  1052. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/class_table_inheritance.rb +0 -0
  1053. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/column_conflicts.rb +0 -0
  1054. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/column_encryption.rb +0 -0
  1055. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/column_select.rb +0 -0
  1056. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/columns_updated.rb +0 -0
  1057. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/composition.rb +0 -0
  1058. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/concurrent_eager_loading.rb +0 -0
  1059. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/constraint_validations.rb +0 -0
  1060. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/csv_serializer.rb +0 -0
  1061. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/dataset_associations.rb +0 -0
  1062. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/def_dataset_method.rb +0 -0
  1063. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/defaults_setter.rb +0 -0
  1064. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/delay_add_association.rb +0 -0
  1065. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/dirty.rb +0 -0
  1066. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/eager_each.rb +0 -0
  1067. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/eager_graph_eager.rb +0 -0
  1068. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/empty_failure_backtraces.rb +0 -0
  1069. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/enum.rb +0 -0
  1070. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/error_splitter.rb +0 -0
  1071. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/finder.rb +0 -0
  1072. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/forbid_lazy_load.rb +0 -0
  1073. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/force_encoding.rb +0 -0
  1074. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/hook_class_methods.rb +0 -0
  1075. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/input_transformer.rb +0 -0
  1076. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/plugins/insert_conflict.rb +76 -0
  1077. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/insert_returning_select.rb +0 -0
  1078. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/instance_filters.rb +0 -0
  1079. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/instance_hooks.rb +0 -0
  1080. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/instance_specific_default.rb +0 -0
  1081. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/inverted_subsets.rb +0 -0
  1082. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/json_serializer.rb +0 -0
  1083. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/lazy_attributes.rb +0 -0
  1084. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/plugins/list.rb +205 -0
  1085. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/many_through_many.rb +0 -0
  1086. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/modification_detection.rb +0 -0
  1087. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/mssql_optimistic_locking.rb +0 -0
  1088. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/nested_attributes.rb +0 -0
  1089. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/optimistic_locking.rb +0 -0
  1090. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/pg_array_associations.rb +0 -0
  1091. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/pg_auto_constraint_validations.rb +0 -0
  1092. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/pg_row.rb +0 -0
  1093. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/prepared_statements.rb +0 -0
  1094. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/prepared_statements_safe.rb +0 -0
  1095. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/rcte_tree.rb +0 -0
  1096. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/plugins/require_valid_schema.rb +67 -0
  1097. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/serialization.rb +0 -0
  1098. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/serialization_modification_detection.rb +0 -0
  1099. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/sharding.rb +0 -0
  1100. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/single_table_inheritance.rb +0 -0
  1101. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/singular_table_names.rb +0 -0
  1102. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/skip_create_refresh.rb +0 -0
  1103. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/skip_saving_columns.rb +0 -0
  1104. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/split_values.rb +0 -0
  1105. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/sql_comments.rb +0 -0
  1106. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/static_cache.rb +0 -0
  1107. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/static_cache_cache.rb +0 -0
  1108. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/string_stripper.rb +0 -0
  1109. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/subclasses.rb +0 -0
  1110. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/subset_conditions.rb +0 -0
  1111. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/table_select.rb +0 -0
  1112. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/plugins/tactical_eager_loading.rb +212 -0
  1113. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/throw_failures.rb +0 -0
  1114. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/timestamps.rb +0 -0
  1115. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/touch.rb +0 -0
  1116. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/tree.rb +0 -0
  1117. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/typecast_on_load.rb +0 -0
  1118. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/unlimited_update.rb +0 -0
  1119. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/unused_associations.rb +0 -0
  1120. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/update_or_create.rb +0 -0
  1121. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/update_primary_key.rb +0 -0
  1122. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/update_refresh.rb +0 -0
  1123. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/uuid.rb +0 -0
  1124. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/validate_associated.rb +0 -0
  1125. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/validation_class_methods.rb +0 -0
  1126. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/validation_contexts.rb +0 -0
  1127. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/validation_helpers.rb +0 -0
  1128. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/whitelist_security.rb +0 -0
  1129. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/xml_serializer.rb +0 -0
  1130. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/sql.rb +0 -0
  1131. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/timezones.rb +0 -0
  1132. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/version.rb +25 -0
  1133. data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel.rb +0 -0
  1134. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/API_CHANGES.rdoc +0 -0
  1135. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/CHANGELOG.rdoc +333 -0
  1136. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ChangeLog.cvs +0 -0
  1137. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/Gemfile +20 -0
  1138. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/LICENSE +0 -0
  1139. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/Manifest.txt +59 -0
  1140. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/README.rdoc +118 -0
  1141. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/Rakefile +0 -0
  1142. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/appveyor.yml +0 -0
  1143. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/Makefile +267 -0
  1144. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/aggregator.c +273 -0
  1145. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/aggregator.h +0 -0
  1146. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/aggregator.o +0 -0
  1147. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/backup.c +0 -0
  1148. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/backup.h +0 -0
  1149. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/backup.o +0 -0
  1150. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/database.c +854 -0
  1151. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/database.h +0 -0
  1152. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/database.o +0 -0
  1153. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/exception.c +0 -0
  1154. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/exception.h +0 -0
  1155. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/exception.o +0 -0
  1156. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/extconf.rb +0 -0
  1157. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/sqlite3.c +0 -0
  1158. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/sqlite3.o +0 -0
  1159. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/sqlite3_native.so +0 -0
  1160. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/sqlite3_ruby.h +0 -0
  1161. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/statement.c +442 -0
  1162. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/statement.h +0 -0
  1163. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/statement.o +0 -0
  1164. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/faq/faq.rb +0 -0
  1165. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/faq/faq.yml +426 -0
  1166. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/lib/sqlite3/constants.rb +50 -0
  1167. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/lib/sqlite3/database.rb +741 -0
  1168. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/lib/sqlite3/errors.rb +0 -0
  1169. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/lib/sqlite3/pragmas.rb +595 -0
  1170. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/lib/sqlite3/resultset.rb +0 -0
  1171. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/lib/sqlite3/sqlite3_native.so +0 -0
  1172. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/lib/sqlite3/statement.rb +145 -0
  1173. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/lib/sqlite3/translator.rb +118 -0
  1174. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/lib/sqlite3/value.rb +0 -0
  1175. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/lib/sqlite3/version.rb +25 -0
  1176. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/lib/sqlite3.rb +0 -0
  1177. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/rakelib/faq.rake +0 -0
  1178. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/rakelib/gem.rake +40 -0
  1179. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/rakelib/native.rake +59 -0
  1180. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/rakelib/vendor_sqlite3.rake +108 -0
  1181. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/setup.rb +0 -0
  1182. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/test/helper.rb +25 -0
  1183. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_backup.rb +0 -0
  1184. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_collation.rb +0 -0
  1185. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/test/test_database.rb +531 -0
  1186. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_database_flags.rb +0 -0
  1187. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_database_readonly.rb +0 -0
  1188. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_database_readwrite.rb +0 -0
  1189. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_deprecated.rb +0 -0
  1190. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_encoding.rb +0 -0
  1191. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_integration.rb +0 -0
  1192. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_integration_aggregate.rb +0 -0
  1193. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_integration_open_close.rb +0 -0
  1194. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_integration_pending.rb +0 -0
  1195. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_integration_resultset.rb +0 -0
  1196. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_integration_statement.rb +0 -0
  1197. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_result_set.rb +0 -0
  1198. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_sqlite3.rb +0 -0
  1199. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/test/test_statement.rb +263 -0
  1200. data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_statement_execute.rb +0 -0
  1201. data/vendor/bundle/ruby/3.1.0/specifications/addressable-2.8.1.gemspec +37 -0
  1202. data/vendor/bundle/ruby/3.1.0/specifications/debug-1.6.2.gemspec +39 -0
  1203. data/vendor/bundle/ruby/3.1.0/specifications/faraday-2.5.2.gemspec +0 -0
  1204. data/vendor/bundle/ruby/3.1.0/specifications/faraday-net_http-3.0.0.gemspec +32 -0
  1205. data/vendor/bundle/ruby/3.1.0/specifications/nokogiri-1.13.8-x86_64-linux.gemspec +69 -0
  1206. data/vendor/bundle/ruby/3.1.0/specifications/octokit-5.3.0.gemspec +36 -0
  1207. data/vendor/bundle/ruby/3.1.0/specifications/public_suffix-5.0.0.gemspec +24 -0
  1208. data/vendor/bundle/ruby/3.1.0/specifications/rack-2.2.4.gemspec +41 -0
  1209. data/vendor/bundle/ruby/3.1.0/specifications/rack-test-2.0.2.gemspec +38 -0
  1210. data/vendor/bundle/ruby/3.1.0/specifications/sawyer-0.9.2.gemspec +31 -0
  1211. data/vendor/bundle/ruby/3.1.0/specifications/selenium-webdriver-4.4.0.gemspec +62 -0
  1212. data/vendor/bundle/ruby/3.1.0/specifications/sequel-5.59.0.gemspec +46 -0
  1213. data/vendor/bundle/ruby/3.1.0/specifications/sqlite3-1.4.4.gemspec +51 -0
  1214. metadata +1202 -1198
  1215. data/vendor/bundle/ruby/3.1.0/cache/addressable-2.8.0.gem +0 -0
  1216. data/vendor/bundle/ruby/3.1.0/cache/debug-1.5.0.gem +0 -0
  1217. data/vendor/bundle/ruby/3.1.0/cache/faraday-2.3.0.gem +0 -0
  1218. data/vendor/bundle/ruby/3.1.0/cache/faraday-net_http-2.0.3.gem +0 -0
  1219. data/vendor/bundle/ruby/3.1.0/cache/nokogiri-1.13.6-x86_64-linux.gem +0 -0
  1220. data/vendor/bundle/ruby/3.1.0/cache/octokit-4.23.0.gem +0 -0
  1221. data/vendor/bundle/ruby/3.1.0/cache/public_suffix-4.0.7.gem +0 -0
  1222. data/vendor/bundle/ruby/3.1.0/cache/rack-2.2.3.1.gem +0 -0
  1223. data/vendor/bundle/ruby/3.1.0/cache/rack-test-1.1.0.gem +0 -0
  1224. data/vendor/bundle/ruby/3.1.0/cache/sawyer-0.9.1.gem +0 -0
  1225. data/vendor/bundle/ruby/3.1.0/cache/selenium-webdriver-4.2.0.gem +0 -0
  1226. data/vendor/bundle/ruby/3.1.0/cache/sequel-5.56.0.gem +0 -0
  1227. data/vendor/bundle/ruby/3.1.0/cache/sqlite3-1.4.2.gem +0 -0
  1228. data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/debug-1.5.0/debug/debug.so +0 -0
  1229. data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/debug-1.5.0/gem_make.out +0 -19
  1230. data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/debug-1.5.0/mkmf.log +0 -86
  1231. data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/sqlite3-1.4.2/gem_make.out +0 -84
  1232. data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/sqlite3-1.4.2/sqlite3/sqlite3_native.so +0 -0
  1233. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/CHANGELOG.md +0 -246
  1234. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/Gemfile +0 -28
  1235. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/addressable.gemspec +0 -37
  1236. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/lib/addressable/idna/native.rb +0 -61
  1237. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/lib/addressable/idna/pure.rb +0 -678
  1238. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/lib/addressable/idna.rb +0 -27
  1239. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/lib/addressable/template.rb +0 -1031
  1240. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/lib/addressable/uri.rb +0 -2556
  1241. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/lib/addressable/version.rb +0 -32
  1242. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/spec/addressable/idna_spec.rb +0 -302
  1243. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/spec/addressable/net_http_compat_spec.rb +0 -30
  1244. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/spec/addressable/security_spec.rb +0 -59
  1245. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/spec/addressable/template_spec.rb +0 -1460
  1246. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/spec/addressable/uri_spec.rb +0 -6665
  1247. data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/tasks/gem.rake +0 -92
  1248. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/CONTRIBUTING.md +0 -493
  1249. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/README.md +0 -890
  1250. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/Rakefile +0 -34
  1251. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/debug.gemspec +0 -32
  1252. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/exe/rdbg +0 -34
  1253. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/ext/debug/Makefile +0 -267
  1254. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/ext/debug/debug.c +0 -222
  1255. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/ext/debug/debug.o +0 -0
  1256. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/ext/debug/debug.so +0 -0
  1257. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/ext/debug/debug_version.h +0 -1
  1258. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/ext/debug/extconf.rb +0 -15
  1259. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/ext/debug/iseq_collector.o +0 -0
  1260. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/bp.vim +0 -68
  1261. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/breakpoint.rb +0 -517
  1262. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/client.rb +0 -235
  1263. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/config.rb +0 -493
  1264. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/console.rb +0 -228
  1265. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/debug.so +0 -0
  1266. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/frame_info.rb +0 -172
  1267. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/prelude.rb +0 -49
  1268. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/server.rb +0 -493
  1269. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/server_cdp.rb +0 -1144
  1270. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/server_dap.rb +0 -869
  1271. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/session.rb +0 -2312
  1272. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/source_repository.rb +0 -117
  1273. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/thread_client.rb +0 -1202
  1274. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/tracer.rb +0 -241
  1275. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/version.rb +0 -5
  1276. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug.rb +0 -4
  1277. data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/misc/README.md.erb +0 -584
  1278. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/LICENSE.md +0 -20
  1279. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/README.md +0 -55
  1280. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/examples/client_spec.rb +0 -97
  1281. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/examples/client_test.rb +0 -118
  1282. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/lib/faraday/adapter/test.rb +0 -268
  1283. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/lib/faraday/adapter.rb +0 -102
  1284. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/lib/faraday/connection.rb +0 -561
  1285. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/lib/faraday/options/env.rb +0 -181
  1286. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/lib/faraday/options/ssl_options.rb +0 -59
  1287. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/lib/faraday/version.rb +0 -5
  1288. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/spec/faraday/adapter/test_spec.rb +0 -377
  1289. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/spec/faraday/connection_spec.rb +0 -787
  1290. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/spec/faraday/options/env_spec.rb +0 -70
  1291. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/spec/faraday/request_spec.rb +0 -109
  1292. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/spec/faraday/utils_spec.rb +0 -117
  1293. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/spec/support/shared_examples/adapter.rb +0 -104
  1294. data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/spec/support/shared_examples/request_method.rb +0 -249
  1295. data/vendor/bundle/ruby/3.1.0/gems/faraday-net_http-2.0.3/lib/faraday/adapter/net_http.rb +0 -224
  1296. data/vendor/bundle/ruby/3.1.0/gems/faraday-net_http-2.0.3/lib/faraday/net_http/version.rb +0 -7
  1297. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/extconf.rb +0 -1008
  1298. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/gumbo.c +0 -584
  1299. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/include/libxslt/xsltconfig.h +0 -180
  1300. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/nokogiri.h +0 -223
  1301. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_attr.c +0 -103
  1302. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_attribute_decl.c +0 -70
  1303. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_cdata.c +0 -57
  1304. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_document.c +0 -680
  1305. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_dtd.c +0 -208
  1306. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_element_decl.c +0 -69
  1307. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_entity_decl.c +0 -112
  1308. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_node.c +0 -2144
  1309. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_node_set.c +0 -498
  1310. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_reader.c +0 -719
  1311. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_schema.c +0 -284
  1312. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_text.c +0 -48
  1313. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_xpath_context.c +0 -406
  1314. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/lib/nokogiri/2.6/nokogiri.so +0 -0
  1315. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/lib/nokogiri/2.7/nokogiri.so +0 -0
  1316. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/lib/nokogiri/3.0/nokogiri.so +0 -0
  1317. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/lib/nokogiri/3.1/nokogiri.so +0 -0
  1318. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/lib/nokogiri/version/constant.rb +0 -6
  1319. data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/lib/nokogiri/xml/reader.rb +0 -107
  1320. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/README.md +0 -820
  1321. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/Rakefile +0 -22
  1322. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/ext/sawyer/relation.rb +0 -10
  1323. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/arguments.rb +0 -14
  1324. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/authentication.rb +0 -81
  1325. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/actions_secrets.rb +0 -58
  1326. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/actions_workflow_runs.rb +0 -105
  1327. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/actions_workflows.rb +0 -43
  1328. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/apps.rb +0 -222
  1329. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/authorizations.rb +0 -182
  1330. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/checks.rb +0 -200
  1331. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/commit_branches.rb +0 -20
  1332. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/commit_comments.rb +0 -95
  1333. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/commit_pulls.rb +0 -20
  1334. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/commits.rb +0 -244
  1335. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/community_profile.rb +0 -22
  1336. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/contents.rb +0 -168
  1337. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/deployments.rb +0 -82
  1338. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/downloads.rb +0 -50
  1339. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/emojis.rb +0 -18
  1340. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/events.rb +0 -152
  1341. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/feeds.rb +0 -33
  1342. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/gists.rb +0 -234
  1343. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/gitignore.rb +0 -43
  1344. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/hooks.rb +0 -297
  1345. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/issues.rb +0 -368
  1346. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/labels.rb +0 -156
  1347. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/legacy_search.rb +0 -42
  1348. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/licenses.rb +0 -45
  1349. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/markdown.rb +0 -27
  1350. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/marketplace.rb +0 -56
  1351. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/meta.rb +0 -21
  1352. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/milestones.rb +0 -87
  1353. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/notifications.rb +0 -167
  1354. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/oauth_applications.rb +0 -122
  1355. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/objects.rb +0 -141
  1356. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/organizations.rb +0 -820
  1357. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/pages.rb +0 -63
  1358. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/projects.rb +0 -314
  1359. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/pub_sub_hubbub.rb +0 -111
  1360. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/pull_requests.rb +0 -303
  1361. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/rate_limit.rb +0 -54
  1362. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/reactions.rb +0 -158
  1363. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/refs.rb +0 -134
  1364. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/releases.rb +0 -164
  1365. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/repositories.rb +0 -799
  1366. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/repository_invitations.rb +0 -96
  1367. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/reviews.rb +0 -227
  1368. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/say.rb +0 -19
  1369. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/search.rb +0 -91
  1370. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/service_status.rb +0 -48
  1371. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/source_import.rb +0 -161
  1372. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/stats.rb +0 -107
  1373. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/statuses.rb +0 -47
  1374. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/traffic.rb +0 -69
  1375. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/users.rb +0 -441
  1376. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client.rb +0 -253
  1377. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/configurable.rb +0 -151
  1378. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/connection.rb +0 -211
  1379. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/default.rb +0 -186
  1380. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/enterprise_admin_client/admin_stats.rb +0 -120
  1381. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/enterprise_admin_client/license.rb +0 -18
  1382. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/enterprise_admin_client/orgs.rb +0 -27
  1383. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/enterprise_admin_client/search_indexing.rb +0 -83
  1384. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/enterprise_admin_client/users.rb +0 -128
  1385. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/enterprise_admin_client.rb +0 -40
  1386. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/enterprise_management_console_client/management_console.rb +0 -176
  1387. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/enterprise_management_console_client.rb +0 -50
  1388. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/error.rb +0 -354
  1389. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/gist.rb +0 -36
  1390. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/middleware/follow_redirects.rb +0 -134
  1391. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/organization.rb +0 -17
  1392. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/preview.rb +0 -46
  1393. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/rate_limit.rb +0 -33
  1394. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/repo_arguments.rb +0 -19
  1395. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/repository.rb +0 -95
  1396. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/response/base_middleware.rb +0 -8
  1397. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/response/feed_parser.rb +0 -19
  1398. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/response/raise_error.rb +0 -19
  1399. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/user.rb +0 -19
  1400. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/version.rb +0 -17
  1401. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/warnable.rb +0 -19
  1402. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit.rb +0 -60
  1403. data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/octokit.gemspec +0 -23
  1404. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/CHANGELOG.md +0 -417
  1405. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/Gemfile +0 -14
  1406. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/README.md +0 -217
  1407. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/Rakefile +0 -52
  1408. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/data/list.txt +0 -14035
  1409. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/lib/public_suffix/list.rb +0 -247
  1410. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/lib/public_suffix/rule.rb +0 -350
  1411. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/lib/public_suffix/version.rb +0 -15
  1412. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/lib/public_suffix.rb +0 -177
  1413. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/public_suffix.gemspec +0 -29
  1414. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/test/acceptance_test.rb +0 -131
  1415. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/test/psl_test.rb +0 -52
  1416. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/test/unit/domain_test.rb +0 -106
  1417. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/test/unit/list_test.rb +0 -241
  1418. data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/test/unit/rule_test.rb +0 -222
  1419. data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3.1/CHANGELOG.md +0 -699
  1420. data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3.1/lib/rack/etag.rb +0 -75
  1421. data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3.1/lib/rack/lint.rb +0 -806
  1422. data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3.1/lib/rack/query_parser.rb +0 -217
  1423. data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3.1/lib/rack/utils.rb +0 -613
  1424. data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3.1/lib/rack/version.rb +0 -29
  1425. data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/History.md +0 -256
  1426. data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/MIT-LICENSE.txt +0 -19
  1427. data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/README.md +0 -150
  1428. data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/lib/rack/mock_session.rb +0 -63
  1429. data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/lib/rack/test/cookie_jar.rb +0 -194
  1430. data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/lib/rack/test/methods.rb +0 -83
  1431. data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/lib/rack/test/mock_digest_request.rb +0 -25
  1432. data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/lib/rack/test/uploaded_file.rb +0 -85
  1433. data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/lib/rack/test/utils.rb +0 -144
  1434. data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/lib/rack/test/version.rb +0 -5
  1435. data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/lib/rack/test.rb +0 -334
  1436. data/vendor/bundle/ruby/3.1.0/gems/sawyer-0.9.1/lib/sawyer/resource.rb +0 -155
  1437. data/vendor/bundle/ruby/3.1.0/gems/sawyer-0.9.1/lib/sawyer.rb +0 -17
  1438. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/CHANGES +0 -2050
  1439. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/server.rb +0 -283
  1440. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/chrome/options.rb +0 -261
  1441. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/chrome.rb +0 -55
  1442. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/driver.rb +0 -397
  1443. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb +0 -136
  1444. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb +0 -31
  1445. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/interactions/pointer_actions.rb +0 -369
  1446. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/interactions/wheel_actions.rb +0 -113
  1447. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/manager.rb +0 -177
  1448. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/options.rb +0 -184
  1449. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/takes_screenshot.rb +0 -66
  1450. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/websocket_connection.rb +0 -149
  1451. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/window.rb +0 -159
  1452. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/zipper.rb +0 -91
  1453. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common.rb +0 -95
  1454. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/devtools.rb +0 -86
  1455. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/firefox.rb +0 -69
  1456. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/ie.rb +0 -42
  1457. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/remote/bridge.rb +0 -672
  1458. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/remote/commands.rb +0 -158
  1459. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/remote/driver.rb +0 -61
  1460. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/remote/http/persistent.rb +0 -65
  1461. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/safari.rb +0 -73
  1462. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/version.rb +0 -24
  1463. data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/selenium-webdriver.gemspec +0 -66
  1464. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/CHANGELOG +0 -1037
  1465. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/README.rdoc +0 -908
  1466. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/doc/cheat_sheet.rdoc +0 -247
  1467. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/doc/opening_databases.rdoc +0 -421
  1468. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/doc/testing.rdoc +0 -186
  1469. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/adapters/jdbc/derby.rb +0 -313
  1470. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/adapters/jdbc/h2.rb +0 -282
  1471. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/adapters/jdbc/hsqldb.rb +0 -220
  1472. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/adapters/postgres.rb +0 -816
  1473. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/adapters/shared/db2.rb +0 -464
  1474. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/adapters/shared/mssql.rb +0 -1129
  1475. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/adapters/shared/mysql.rb +0 -1080
  1476. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/adapters/shared/oracle.rb +0 -652
  1477. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/adapters/shared/postgres.rb +0 -2232
  1478. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/database/schema_generator.rb +0 -646
  1479. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/database/schema_methods.rb +0 -1078
  1480. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/dataset/actions.rb +0 -1244
  1481. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/dataset/features.rb +0 -265
  1482. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/dataset/query.rb +0 -1423
  1483. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/dataset/sql.rb +0 -1724
  1484. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/extensions/pg_hstore.rb +0 -348
  1485. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/extensions/pg_json_ops.rb +0 -752
  1486. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/model/associations.rb +0 -4002
  1487. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/model/base.rb +0 -2260
  1488. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/plugins/insert_conflict.rb +0 -72
  1489. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/plugins/list.rb +0 -203
  1490. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/plugins/tactical_eager_loading.rb +0 -205
  1491. data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/version.rb +0 -25
  1492. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/CHANGELOG.rdoc +0 -318
  1493. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/Gemfile +0 -17
  1494. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/Manifest.txt +0 -60
  1495. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/README.rdoc +0 -118
  1496. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/Makefile +0 -267
  1497. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/aggregator.c +0 -273
  1498. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/aggregator.o +0 -0
  1499. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/backup.o +0 -0
  1500. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/database.c +0 -827
  1501. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/database.o +0 -0
  1502. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/exception.o +0 -0
  1503. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/sqlite3.o +0 -0
  1504. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/sqlite3_native.so +0 -0
  1505. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/statement.c +0 -442
  1506. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/statement.o +0 -0
  1507. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/faq/faq.yml +0 -426
  1508. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/lib/sqlite3/constants.rb +0 -50
  1509. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/lib/sqlite3/database.rb +0 -736
  1510. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/lib/sqlite3/pragmas.rb +0 -588
  1511. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/lib/sqlite3/sqlite3_native.so +0 -0
  1512. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/lib/sqlite3/statement.rb +0 -144
  1513. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/lib/sqlite3/translator.rb +0 -118
  1514. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/lib/sqlite3/version.rb +0 -25
  1515. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/rakelib/gem.rake +0 -40
  1516. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/rakelib/native.rake +0 -56
  1517. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/rakelib/vendor_sqlite3.rake +0 -97
  1518. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/test/helper.rb +0 -18
  1519. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/test/test_database.rb +0 -503
  1520. data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/test/test_statement.rb +0 -263
  1521. data/vendor/bundle/ruby/3.1.0/specifications/addressable-2.8.0.gemspec +0 -36
  1522. data/vendor/bundle/ruby/3.1.0/specifications/debug-1.5.0.gemspec +0 -39
  1523. data/vendor/bundle/ruby/3.1.0/specifications/faraday-2.3.0.gemspec +0 -0
  1524. data/vendor/bundle/ruby/3.1.0/specifications/faraday-net_http-2.0.3.gemspec +0 -32
  1525. data/vendor/bundle/ruby/3.1.0/specifications/nokogiri-1.13.6-x86_64-linux.gemspec +0 -69
  1526. data/vendor/bundle/ruby/3.1.0/specifications/octokit-4.23.0.gemspec +0 -35
  1527. data/vendor/bundle/ruby/3.1.0/specifications/public_suffix-4.0.7.gemspec +0 -24
  1528. data/vendor/bundle/ruby/3.1.0/specifications/rack-2.2.3.1.gemspec +0 -41
  1529. data/vendor/bundle/ruby/3.1.0/specifications/rack-test-1.1.0.gemspec +0 -45
  1530. data/vendor/bundle/ruby/3.1.0/specifications/sawyer-0.9.1.gemspec +0 -31
  1531. data/vendor/bundle/ruby/3.1.0/specifications/selenium-webdriver-4.2.0.gemspec +0 -62
  1532. data/vendor/bundle/ruby/3.1.0/specifications/sequel-5.56.0.gemspec +0 -48
  1533. data/vendor/bundle/ruby/3.1.0/specifications/sqlite3-1.4.2.gemspec +0 -51
@@ -0,0 +1,2298 @@
1
+ # frozen-string-literal: true
2
+
3
+ require_relative '../utils/unmodified_identifiers'
4
+
5
+ module Sequel
6
+ # Top level module for holding all PostgreSQL-related modules and classes
7
+ # for Sequel. All adapters that connect to PostgreSQL support the following options:
8
+ #
9
+ # :client_min_messages :: Change the minimum level of messages that PostgreSQL will send to the
10
+ # the client. The PostgreSQL default is NOTICE, the Sequel default is
11
+ # WARNING. Set to nil to not change the server default. Overridable on
12
+ # a per instance basis via the :client_min_messages option.
13
+ # :force_standard_strings :: Set to false to not force the use of standard strings. Overridable
14
+ # on a per instance basis via the :force_standard_strings option.
15
+ # :search_path :: Set the schema search_path for this Database's connections.
16
+ # Allows to to set which schemas do not need explicit
17
+ # qualification, and in which order to check the schemas when
18
+ # an unqualified object is referenced.
19
+ module Postgres
20
+ Sequel::Database.set_shared_adapter_scheme(:postgres, self)
21
+
22
+ NAN = 0.0/0.0
23
+ PLUS_INFINITY = 1.0/0.0
24
+ MINUS_INFINITY = -1.0/0.0
25
+
26
+ boolean = Object.new
27
+ def boolean.call(s) s == 't' end
28
+ integer = Object.new
29
+ def integer.call(s) s.to_i end
30
+ float = Object.new
31
+ def float.call(s)
32
+ case s
33
+ when 'NaN'
34
+ NAN
35
+ when 'Infinity'
36
+ PLUS_INFINITY
37
+ when '-Infinity'
38
+ MINUS_INFINITY
39
+ else
40
+ s.to_f
41
+ end
42
+ end
43
+ date = Object.new
44
+ def date.call(s) ::Date.new(*s.split('-').map(&:to_i)) end
45
+ TYPE_TRANSLATOR_DATE = date.freeze
46
+ bytea = Object.new
47
+ def bytea.call(str)
48
+ str = if str =~ /\A\\x/
49
+ # PostgreSQL 9.0+ bytea hex format
50
+ str[2..-1].gsub(/(..)/){|s| s.to_i(16).chr}
51
+ else
52
+ # Historical PostgreSQL bytea escape format
53
+ str.gsub(/\\(\\|'|[0-3][0-7][0-7])/) {|s|
54
+ if s.size == 2 then s[1,1] else s[1,3].oct.chr end
55
+ }
56
+ end
57
+ ::Sequel::SQL::Blob.new(str)
58
+ end
59
+
60
+ CONVERSION_PROCS = {}
61
+
62
+ {
63
+ [16] => boolean,
64
+ [17] => bytea,
65
+ [20, 21, 23, 26] => integer,
66
+ [700, 701] => float,
67
+ [1700] => ::Kernel.method(:BigDecimal),
68
+ [1083, 1266] => ::Sequel.method(:string_to_time),
69
+ [1082] => ::Sequel.method(:string_to_date),
70
+ [1184, 1114] => ::Sequel.method(:database_to_application_timestamp),
71
+ }.each do |k,v|
72
+ k.each do |n|
73
+ CONVERSION_PROCS[n] = v
74
+ end
75
+ end
76
+ CONVERSION_PROCS.freeze
77
+
78
+ module MockAdapterDatabaseMethods
79
+ def bound_variable_arg(arg, conn)
80
+ arg
81
+ end
82
+
83
+ def primary_key(table)
84
+ :id
85
+ end
86
+ end
87
+
88
+ def self.mock_adapter_setup(db)
89
+ db.instance_exec do
90
+ @server_version = 140000
91
+ initialize_postgres_adapter
92
+ extend(MockAdapterDatabaseMethods)
93
+ end
94
+ end
95
+
96
+ class CreateTableGenerator < Sequel::Schema::CreateTableGenerator
97
+ # Add an exclusion constraint when creating the table. Elements should be
98
+ # an array of 2 element arrays, with the first element being the column or
99
+ # expression the exclusion constraint is applied to, and the second element
100
+ # being the operator to use for the column/expression to check for exclusion:
101
+ #
102
+ # exclude([[:col1, '&&'], [:col2, '=']])
103
+ # # EXCLUDE USING gist (col1 WITH &&, col2 WITH =)
104
+ #
105
+ # To use a custom operator class, you need to use Sequel.lit with the expression
106
+ # and operator class:
107
+ #
108
+ # exclude([[Sequel.lit('col1 inet_ops'), '&&'], [:col2, '=']])
109
+ # # EXCLUDE USING gist (col1 inet_ops WITH &&, col2 WITH =)
110
+ #
111
+ # Options supported:
112
+ #
113
+ # :name :: Name the constraint with the given name (useful if you may
114
+ # need to drop the constraint later)
115
+ # :using :: Override the index_method for the exclusion constraint (defaults to gist).
116
+ # :where :: Create a partial exclusion constraint, which only affects
117
+ # a subset of table rows, value should be a filter expression.
118
+ def exclude(elements, opts=OPTS)
119
+ constraints << {:type => :exclude, :elements => elements}.merge!(opts)
120
+ end
121
+ end
122
+
123
+ class AlterTableGenerator < Sequel::Schema::AlterTableGenerator
124
+ # Adds an exclusion constraint to an existing table, see
125
+ # CreateTableGenerator#exclude.
126
+ def add_exclusion_constraint(elements, opts=OPTS)
127
+ @operations << {:op => :add_constraint, :type => :exclude, :elements => elements}.merge!(opts)
128
+ end
129
+
130
+ # Validate the constraint with the given name, which should have
131
+ # been added previously with NOT VALID.
132
+ def validate_constraint(name)
133
+ @operations << {:op => :validate_constraint, :name => name}
134
+ end
135
+ end
136
+
137
+ # Generator used for creating tables that are partitions of other tables.
138
+ class CreatePartitionOfTableGenerator
139
+ MINVALUE = Sequel.lit('MINVALUE').freeze
140
+ MAXVALUE = Sequel.lit('MAXVALUE').freeze
141
+
142
+ def initialize(&block)
143
+ instance_exec(&block)
144
+ end
145
+
146
+ # The minimum value of the data type used in range partitions, useful
147
+ # as an argument to #from.
148
+ def minvalue
149
+ MINVALUE
150
+ end
151
+
152
+ # The minimum value of the data type used in range partitions, useful
153
+ # as an argument to #to.
154
+ def maxvalue
155
+ MAXVALUE
156
+ end
157
+
158
+ # Assumes range partitioning, sets the inclusive minimum value of the range for
159
+ # this partition.
160
+ def from(*v)
161
+ @from = v
162
+ end
163
+
164
+ # Assumes range partitioning, sets the exclusive maximum value of the range for
165
+ # this partition.
166
+ def to(*v)
167
+ @to = v
168
+ end
169
+
170
+ # Assumes list partitioning, sets the values to be included in this partition.
171
+ def values_in(*v)
172
+ @in = v
173
+ end
174
+
175
+ # Assumes hash partitioning, sets the modulus for this parition.
176
+ def modulus(v)
177
+ @modulus = v
178
+ end
179
+
180
+ # Assumes hash partitioning, sets the remainder for this parition.
181
+ def remainder(v)
182
+ @remainder = v
183
+ end
184
+
185
+ # Sets that this is a default partition, where values not in other partitions
186
+ # are stored.
187
+ def default
188
+ @default = true
189
+ end
190
+
191
+ # The from and to values of this partition for a range partition.
192
+ def range
193
+ [@from, @to]
194
+ end
195
+
196
+ # The values to include in this partition for a list partition.
197
+ def list
198
+ @in
199
+ end
200
+
201
+ # The modulus and remainder to use for this partition for a hash partition.
202
+ def hash_values
203
+ [@modulus, @remainder]
204
+ end
205
+
206
+ # Determine the appropriate partition type for this partition by which methods
207
+ # were called on it.
208
+ def partition_type
209
+ raise Error, "Unable to determine partition type, multiple different partitioning methods called" if [@from || @to, @list, @modulus || @remainder, @default].compact.length > 1
210
+
211
+ if @from || @to
212
+ raise Error, "must call both from and to when creating a partition of a table if calling either" unless @from && @to
213
+ :range
214
+ elsif @in
215
+ :list
216
+ elsif @modulus || @remainder
217
+ raise Error, "must call both modulus and remainder when creating a partition of a table if calling either" unless @modulus && @remainder
218
+ :hash
219
+ elsif @default
220
+ :default
221
+ else
222
+ raise Error, "unable to determine partition type, no partitioning methods called"
223
+ end
224
+ end
225
+ end
226
+
227
+ # Error raised when Sequel determines a PostgreSQL exclusion constraint has been violated.
228
+ class ExclusionConstraintViolation < Sequel::ConstraintViolation; end
229
+
230
+ module DatabaseMethods
231
+ include UnmodifiedIdentifiers::DatabaseMethods
232
+
233
+ PREPARED_ARG_PLACEHOLDER = LiteralString.new('$').freeze
234
+ FOREIGN_KEY_LIST_ON_DELETE_MAP = {'a'=>:no_action, 'r'=>:restrict, 'c'=>:cascade, 'n'=>:set_null, 'd'=>:set_default}.freeze
235
+ ON_COMMIT = {:drop => 'DROP', :delete_rows => 'DELETE ROWS', :preserve_rows => 'PRESERVE ROWS'}.freeze
236
+ ON_COMMIT.each_value(&:freeze)
237
+
238
+ # SQL fragment for custom sequences (ones not created by serial primary key),
239
+ # Returning the schema and literal form of the sequence name, by parsing
240
+ # the column defaults table.
241
+ SELECT_CUSTOM_SEQUENCE_SQL = (<<-end_sql
242
+ SELECT name.nspname AS "schema",
243
+ CASE
244
+ WHEN split_part(pg_get_expr(def.adbin, attr.attrelid), '''', 2) ~ '.' THEN
245
+ substr(split_part(pg_get_expr(def.adbin, attr.attrelid), '''', 2),
246
+ strpos(split_part(pg_get_expr(def.adbin, attr.attrelid), '''', 2), '.')+1)
247
+ ELSE split_part(pg_get_expr(def.adbin, attr.attrelid), '''', 2)
248
+ END AS "sequence"
249
+ FROM pg_class t
250
+ JOIN pg_namespace name ON (t.relnamespace = name.oid)
251
+ JOIN pg_attribute attr ON (t.oid = attrelid)
252
+ JOIN pg_attrdef def ON (adrelid = attrelid AND adnum = attnum)
253
+ JOIN pg_constraint cons ON (conrelid = adrelid AND adnum = conkey[1])
254
+ WHERE cons.contype = 'p'
255
+ AND pg_get_expr(def.adbin, attr.attrelid) ~* 'nextval'
256
+ end_sql
257
+ ).strip.gsub(/\s+/, ' ').freeze
258
+
259
+ # SQL fragment for determining primary key column for the given table. Only
260
+ # returns the first primary key if the table has a composite primary key.
261
+ SELECT_PK_SQL = (<<-end_sql
262
+ SELECT pg_attribute.attname AS pk
263
+ FROM pg_class, pg_attribute, pg_index, pg_namespace
264
+ WHERE pg_class.oid = pg_attribute.attrelid
265
+ AND pg_class.relnamespace = pg_namespace.oid
266
+ AND pg_class.oid = pg_index.indrelid
267
+ AND pg_index.indkey[0] = pg_attribute.attnum
268
+ AND pg_index.indisprimary = 't'
269
+ end_sql
270
+ ).strip.gsub(/\s+/, ' ').freeze
271
+
272
+ # SQL fragment for getting sequence associated with table's
273
+ # primary key, assuming it was a serial primary key column.
274
+ SELECT_SERIAL_SEQUENCE_SQL = (<<-end_sql
275
+ SELECT name.nspname AS "schema", seq.relname AS "sequence"
276
+ FROM pg_class seq, pg_attribute attr, pg_depend dep,
277
+ pg_namespace name, pg_constraint cons, pg_class t
278
+ WHERE seq.oid = dep.objid
279
+ AND seq.relnamespace = name.oid
280
+ AND seq.relkind = 'S'
281
+ AND attr.attrelid = dep.refobjid
282
+ AND attr.attnum = dep.refobjsubid
283
+ AND attr.attrelid = cons.conrelid
284
+ AND attr.attnum = cons.conkey[1]
285
+ AND attr.attrelid = t.oid
286
+ AND cons.contype = 'p'
287
+ end_sql
288
+ ).strip.gsub(/\s+/, ' ').freeze
289
+
290
+ # A hash of conversion procs, keyed by type integer (oid) and
291
+ # having callable values for the conversion proc for that type.
292
+ attr_reader :conversion_procs
293
+
294
+ # Set a conversion proc for the given oid. The callable can
295
+ # be passed either as a argument or a block.
296
+ def add_conversion_proc(oid, callable=nil, &block)
297
+ conversion_procs[oid] = callable || block
298
+ end
299
+
300
+ # Add a conversion proc for a named type, using the given block.
301
+ # This should be used for types without fixed OIDs, which includes all types that
302
+ # are not included in a default PostgreSQL installation.
303
+ def add_named_conversion_proc(name, &block)
304
+ unless oid = from(:pg_type).where(:typtype=>['b', 'e'], :typname=>name.to_s).get(:oid)
305
+ raise Error, "No matching type in pg_type for #{name.inspect}"
306
+ end
307
+ add_conversion_proc(oid, block)
308
+ end
309
+
310
+ def commit_prepared_transaction(transaction_id, opts=OPTS)
311
+ run("COMMIT PREPARED #{literal(transaction_id)}", opts)
312
+ end
313
+
314
+ # A hash of metadata for CHECK constraints on the table.
315
+ # Keys are CHECK constraint name symbols. Values are hashes with the following keys:
316
+ # :definition :: An SQL fragment for the definition of the constraint
317
+ # :columns :: An array of column symbols for the columns referenced in the constraint,
318
+ # can be an empty array if the database cannot deteremine the column symbols.
319
+ def check_constraints(table)
320
+ m = output_identifier_meth
321
+
322
+ rows = metadata_dataset.
323
+ from{pg_constraint.as(:co)}.
324
+ left_join(Sequel[:pg_attribute].as(:att), :attrelid=>:conrelid, :attnum=>SQL::Function.new(:ANY, Sequel[:co][:conkey])).
325
+ where(:conrelid=>regclass_oid(table), :contype=>'c').
326
+ select{[co[:conname].as(:constraint), att[:attname].as(:column), pg_get_constraintdef(co[:oid]).as(:definition)]}
327
+
328
+ hash = {}
329
+ rows.each do |row|
330
+ constraint = m.call(row[:constraint])
331
+ entry = hash[constraint] ||= {:definition=>row[:definition], :columns=>[]}
332
+ entry[:columns] << m.call(row[:column]) if row[:column]
333
+ end
334
+
335
+ hash
336
+ end
337
+
338
+ # Convert the first primary key column in the +table+ from being a serial column to being an identity column.
339
+ # If the column is already an identity column, assume it was already converted and make no changes.
340
+ #
341
+ # Only supported on PostgreSQL 10.2+, since on those versions Sequel will use identity columns
342
+ # instead of serial columns for auto incrementing primary keys. Only supported when running as
343
+ # a superuser, since regular users cannot modify system tables, and there is no way to keep an
344
+ # existing sequence when changing an existing column to be an identity column.
345
+ #
346
+ # This method can raise an exception in at least the following cases where it may otherwise succeed
347
+ # (there may be additional cases not listed here):
348
+ #
349
+ # * The serial column was added after table creation using PostgreSQL <7.3
350
+ # * A regular index also exists on the column (such an index can probably be dropped as the
351
+ # primary key index should suffice)
352
+ #
353
+ # Options:
354
+ # :column :: Specify the column to convert instead of using the first primary key column
355
+ # :server :: Run the SQL on the given server
356
+ def convert_serial_to_identity(table, opts=OPTS)
357
+ raise Error, "convert_serial_to_identity is only supported on PostgreSQL 10.2+" unless server_version >= 100002
358
+
359
+ server = opts[:server]
360
+ server_hash = server ? {:server=>server} : OPTS
361
+ ds = dataset
362
+ ds = ds.server(server) if server
363
+
364
+ raise Error, "convert_serial_to_identity requires superuser permissions" unless ds.get{current_setting('is_superuser')} == 'on'
365
+
366
+ table_oid = regclass_oid(table)
367
+ im = input_identifier_meth
368
+ unless column = im.call(opts[:column] || ((sch = schema(table).find{|_, sc| sc[:primary_key] && sc[:auto_increment]}) && sch[0]))
369
+ raise Error, "could not determine column to convert from serial to identity automatically"
370
+ end
371
+
372
+ column_num = ds.from(:pg_attribute).
373
+ where(:attrelid=>table_oid, :attname=>column).
374
+ get(:attnum)
375
+
376
+ pg_class = Sequel.cast('pg_class', :regclass)
377
+ res = ds.from(:pg_depend).
378
+ where(:refclassid=>pg_class, :refobjid=>table_oid, :refobjsubid=>column_num, :classid=>pg_class, :objsubid=>0, :deptype=>%w'a i').
379
+ select_map([:objid, Sequel.as({:deptype=>'i'}, :v)])
380
+
381
+ case res.length
382
+ when 0
383
+ raise Error, "unable to find related sequence when converting serial to identity"
384
+ when 1
385
+ seq_oid, already_identity = res.first
386
+ else
387
+ raise Error, "more than one linked sequence found when converting serial to identity"
388
+ end
389
+
390
+ return if already_identity
391
+
392
+ transaction(server_hash) do
393
+ run("ALTER TABLE #{quote_schema_table(table)} ALTER COLUMN #{quote_identifier(column)} DROP DEFAULT", server_hash)
394
+
395
+ ds.from(:pg_depend).
396
+ where(:classid=>pg_class, :objid=>seq_oid, :objsubid=>0, :deptype=>'a').
397
+ update(:deptype=>'i')
398
+
399
+ ds.from(:pg_attribute).
400
+ where(:attrelid=>table_oid, :attname=>column).
401
+ update(:attidentity=>'d')
402
+ end
403
+
404
+ remove_cached_schema(table)
405
+ nil
406
+ end
407
+
408
+ # Creates the function in the database. Arguments:
409
+ # name :: name of the function to create
410
+ # definition :: string definition of the function, or object file for a dynamically loaded C function.
411
+ # opts :: options hash:
412
+ # :args :: function arguments, can be either a symbol or string specifying a type or an array of 1-3 elements:
413
+ # 1 :: argument data type
414
+ # 2 :: argument name
415
+ # 3 :: argument mode (e.g. in, out, inout)
416
+ # :behavior :: Should be IMMUTABLE, STABLE, or VOLATILE. PostgreSQL assumes VOLATILE by default.
417
+ # :parallel :: The thread safety attribute of the function. Should be SAFE, UNSAFE, RESTRICTED. PostgreSQL assumes UNSAFE by default.
418
+ # :cost :: The estimated cost of the function, used by the query planner.
419
+ # :language :: The language the function uses. SQL is the default.
420
+ # :link_symbol :: For a dynamically loaded see function, the function's link symbol if different from the definition argument.
421
+ # :returns :: The data type returned by the function. If you are using OUT or INOUT argument modes, this is ignored.
422
+ # Otherwise, if this is not specified, void is used by default to specify the function is not supposed to return a value.
423
+ # :rows :: The estimated number of rows the function will return. Only use if the function returns SETOF something.
424
+ # :security_definer :: Makes the privileges of the function the same as the privileges of the user who defined the function instead of
425
+ # the privileges of the user who runs the function. There are security implications when doing this, see the PostgreSQL documentation.
426
+ # :set :: Configuration variables to set while the function is being run, can be a hash or an array of two pairs. search_path is
427
+ # often used here if :security_definer is used.
428
+ # :strict :: Makes the function return NULL when any argument is NULL.
429
+ def create_function(name, definition, opts=OPTS)
430
+ self << create_function_sql(name, definition, opts)
431
+ end
432
+
433
+ # Create the procedural language in the database. Arguments:
434
+ # name :: Name of the procedural language (e.g. plpgsql)
435
+ # opts :: options hash:
436
+ # :handler :: The name of a previously registered function used as a call handler for this language.
437
+ # :replace :: Replace the installed language if it already exists (on PostgreSQL 9.0+).
438
+ # :trusted :: Marks the language being created as trusted, allowing unprivileged users to create functions using this language.
439
+ # :validator :: The name of previously registered function used as a validator of functions defined in this language.
440
+ def create_language(name, opts=OPTS)
441
+ self << create_language_sql(name, opts)
442
+ end
443
+
444
+ # Create a schema in the database. Arguments:
445
+ # name :: Name of the schema (e.g. admin)
446
+ # opts :: options hash:
447
+ # :if_not_exists :: Don't raise an error if the schema already exists (PostgreSQL 9.3+)
448
+ # :owner :: The owner to set for the schema (defaults to current user if not specified)
449
+ def create_schema(name, opts=OPTS)
450
+ self << create_schema_sql(name, opts)
451
+ end
452
+
453
+ # Support partitions of tables using the :partition_of option.
454
+ def create_table(name, options=OPTS, &block)
455
+ if options[:partition_of]
456
+ create_partition_of_table_from_generator(name, CreatePartitionOfTableGenerator.new(&block), options)
457
+ return
458
+ end
459
+
460
+ super
461
+ end
462
+
463
+ # Support partitions of tables using the :partition_of option.
464
+ def create_table?(name, options=OPTS, &block)
465
+ if options[:partition_of]
466
+ create_table(name, options.merge!(:if_not_exists=>true), &block)
467
+ return
468
+ end
469
+
470
+ super
471
+ end
472
+
473
+ # Create a trigger in the database. Arguments:
474
+ # table :: the table on which this trigger operates
475
+ # name :: the name of this trigger
476
+ # function :: the function to call for this trigger, which should return type trigger.
477
+ # opts :: options hash:
478
+ # :after :: Calls the trigger after execution instead of before.
479
+ # :args :: An argument or array of arguments to pass to the function.
480
+ # :each_row :: Calls the trigger for each row instead of for each statement.
481
+ # :events :: Can be :insert, :update, :delete, or an array of any of those. Calls the trigger whenever that type of statement is used. By default,
482
+ # the trigger is called for insert, update, or delete.
483
+ # :replace :: Replace the trigger with the same name if it already exists (PostgreSQL 14+).
484
+ # :when :: A filter to use for the trigger
485
+ def create_trigger(table, name, function, opts=OPTS)
486
+ self << create_trigger_sql(table, name, function, opts)
487
+ end
488
+
489
+ def database_type
490
+ :postgres
491
+ end
492
+
493
+ # Use PostgreSQL's DO syntax to execute an anonymous code block. The code should
494
+ # be the literal code string to use in the underlying procedural language. Options:
495
+ #
496
+ # :language :: The procedural language the code is written in. The PostgreSQL
497
+ # default is plpgsql. Can be specified as a string or a symbol.
498
+ def do(code, opts=OPTS)
499
+ language = opts[:language]
500
+ run "DO #{"LANGUAGE #{literal(language.to_s)} " if language}#{literal(code)}"
501
+ end
502
+
503
+ # Drops the function from the database. Arguments:
504
+ # name :: name of the function to drop
505
+ # opts :: options hash:
506
+ # :args :: The arguments for the function. See create_function_sql.
507
+ # :cascade :: Drop other objects depending on this function.
508
+ # :if_exists :: Don't raise an error if the function doesn't exist.
509
+ def drop_function(name, opts=OPTS)
510
+ self << drop_function_sql(name, opts)
511
+ end
512
+
513
+ # Drops a procedural language from the database. Arguments:
514
+ # name :: name of the procedural language to drop
515
+ # opts :: options hash:
516
+ # :cascade :: Drop other objects depending on this function.
517
+ # :if_exists :: Don't raise an error if the function doesn't exist.
518
+ def drop_language(name, opts=OPTS)
519
+ self << drop_language_sql(name, opts)
520
+ end
521
+
522
+ # Drops a schema from the database. Arguments:
523
+ # name :: name of the schema to drop
524
+ # opts :: options hash:
525
+ # :cascade :: Drop all objects in this schema.
526
+ # :if_exists :: Don't raise an error if the schema doesn't exist.
527
+ def drop_schema(name, opts=OPTS)
528
+ self << drop_schema_sql(name, opts)
529
+ end
530
+
531
+ # Drops a trigger from the database. Arguments:
532
+ # table :: table from which to drop the trigger
533
+ # name :: name of the trigger to drop
534
+ # opts :: options hash:
535
+ # :cascade :: Drop other objects depending on this function.
536
+ # :if_exists :: Don't raise an error if the function doesn't exist.
537
+ def drop_trigger(table, name, opts=OPTS)
538
+ self << drop_trigger_sql(table, name, opts)
539
+ end
540
+
541
+ # Return full foreign key information using the pg system tables, including
542
+ # :name, :on_delete, :on_update, and :deferrable entries in the hashes.
543
+ #
544
+ # Supports additional options:
545
+ # :reverse :: Instead of returning foreign keys in the current table, return
546
+ # foreign keys in other tables that reference the current table.
547
+ # :schema :: Set to true to have the :table value in the hashes be a qualified
548
+ # identifier. Set to false to use a separate :schema value with
549
+ # the related schema. Defaults to whether the given table argument
550
+ # is a qualified identifier.
551
+ def foreign_key_list(table, opts=OPTS)
552
+ m = output_identifier_meth
553
+ schema, _ = opts.fetch(:schema, schema_and_table(table))
554
+ oid = regclass_oid(table)
555
+ reverse = opts[:reverse]
556
+
557
+ if reverse
558
+ ctable = Sequel[:att2]
559
+ cclass = Sequel[:cl2]
560
+ rtable = Sequel[:att]
561
+ rclass = Sequel[:cl]
562
+ else
563
+ ctable = Sequel[:att]
564
+ cclass = Sequel[:cl]
565
+ rtable = Sequel[:att2]
566
+ rclass = Sequel[:cl2]
567
+ end
568
+
569
+ if server_version >= 90500
570
+ cpos = Sequel.expr{array_position(co[:conkey], ctable[:attnum])}
571
+ rpos = Sequel.expr{array_position(co[:confkey], rtable[:attnum])}
572
+ else
573
+ range = 0...32
574
+ cpos = Sequel.expr{SQL::CaseExpression.new(range.map{|x| [SQL::Subscript.new(co[:conkey], [x]), x]}, 32, ctable[:attnum])}
575
+ rpos = Sequel.expr{SQL::CaseExpression.new(range.map{|x| [SQL::Subscript.new(co[:confkey], [x]), x]}, 32, rtable[:attnum])}
576
+ end
577
+
578
+ ds = metadata_dataset.
579
+ from{pg_constraint.as(:co)}.
580
+ join(Sequel[:pg_class].as(cclass), :oid=>:conrelid).
581
+ join(Sequel[:pg_attribute].as(ctable), :attrelid=>:oid, :attnum=>SQL::Function.new(:ANY, Sequel[:co][:conkey])).
582
+ join(Sequel[:pg_class].as(rclass), :oid=>Sequel[:co][:confrelid]).
583
+ join(Sequel[:pg_attribute].as(rtable), :attrelid=>:oid, :attnum=>SQL::Function.new(:ANY, Sequel[:co][:confkey])).
584
+ join(Sequel[:pg_namespace].as(:nsp), :oid=>Sequel[:cl2][:relnamespace]).
585
+ order{[co[:conname], cpos]}.
586
+ where{{
587
+ cl[:relkind]=>'r',
588
+ co[:contype]=>'f',
589
+ cl[:oid]=>oid,
590
+ cpos=>rpos
591
+ }}.
592
+ select{[
593
+ co[:conname].as(:name),
594
+ ctable[:attname].as(:column),
595
+ co[:confupdtype].as(:on_update),
596
+ co[:confdeltype].as(:on_delete),
597
+ cl2[:relname].as(:table),
598
+ rtable[:attname].as(:refcolumn),
599
+ SQL::BooleanExpression.new(:AND, co[:condeferrable], co[:condeferred]).as(:deferrable),
600
+ nsp[:nspname].as(:schema)
601
+ ]}
602
+
603
+ if reverse
604
+ ds = ds.order_append(Sequel[:nsp][:nspname], Sequel[:cl2][:relname])
605
+ end
606
+
607
+ h = {}
608
+ fklod_map = FOREIGN_KEY_LIST_ON_DELETE_MAP
609
+
610
+ ds.each do |row|
611
+ if reverse
612
+ key = [row[:schema], row[:table], row[:name]]
613
+ else
614
+ key = row[:name]
615
+ end
616
+
617
+ if r = h[key]
618
+ r[:columns] << m.call(row[:column])
619
+ r[:key] << m.call(row[:refcolumn])
620
+ else
621
+ entry = h[key] = {
622
+ :name=>m.call(row[:name]),
623
+ :columns=>[m.call(row[:column])],
624
+ :key=>[m.call(row[:refcolumn])],
625
+ :on_update=>fklod_map[row[:on_update]],
626
+ :on_delete=>fklod_map[row[:on_delete]],
627
+ :deferrable=>row[:deferrable],
628
+ :table=>schema ? SQL::QualifiedIdentifier.new(m.call(row[:schema]), m.call(row[:table])) : m.call(row[:table]),
629
+ }
630
+
631
+ unless schema
632
+ # If not combining schema information into the :table entry
633
+ # include it as a separate entry.
634
+ entry[:schema] = m.call(row[:schema])
635
+ end
636
+ end
637
+ end
638
+
639
+ h.values
640
+ end
641
+
642
+ def freeze
643
+ server_version
644
+ supports_prepared_transactions?
645
+ @conversion_procs.freeze
646
+ super
647
+ end
648
+
649
+ # Use the pg_* system tables to determine indexes on a table
650
+ def indexes(table, opts=OPTS)
651
+ m = output_identifier_meth
652
+ oid = regclass_oid(table, opts)
653
+
654
+ if server_version >= 90500
655
+ order = [Sequel[:indc][:relname], Sequel.function(:array_position, Sequel[:ind][:indkey], Sequel[:att][:attnum])]
656
+ else
657
+ range = 0...32
658
+ order = [Sequel[:indc][:relname], SQL::CaseExpression.new(range.map{|x| [SQL::Subscript.new(Sequel[:ind][:indkey], [x]), x]}, 32, Sequel[:att][:attnum])]
659
+ end
660
+
661
+ attnums = SQL::Function.new(:ANY, Sequel[:ind][:indkey])
662
+
663
+ ds = metadata_dataset.
664
+ from{pg_class.as(:tab)}.
665
+ join(Sequel[:pg_index].as(:ind), :indrelid=>:oid).
666
+ join(Sequel[:pg_class].as(:indc), :oid=>:indexrelid).
667
+ join(Sequel[:pg_attribute].as(:att), :attrelid=>Sequel[:tab][:oid], :attnum=>attnums).
668
+ left_join(Sequel[:pg_constraint].as(:con), :conname=>Sequel[:indc][:relname]).
669
+ where{{
670
+ indc[:relkind]=>'i',
671
+ ind[:indisprimary]=>false,
672
+ :indexprs=>nil,
673
+ :indisvalid=>true,
674
+ tab[:oid]=>oid}}.
675
+ order(*order).
676
+ select{[indc[:relname].as(:name), ind[:indisunique].as(:unique), att[:attname].as(:column), con[:condeferrable].as(:deferrable)]}
677
+
678
+ ds = ds.where(:indpred=>nil) unless opts[:include_partial]
679
+ ds = ds.where(:indisready=>true) if server_version >= 80300
680
+ ds = ds.where(:indislive=>true) if server_version >= 90300
681
+
682
+ indexes = {}
683
+ ds.each do |r|
684
+ i = indexes[m.call(r[:name])] ||= {:columns=>[], :unique=>r[:unique], :deferrable=>r[:deferrable]}
685
+ i[:columns] << m.call(r[:column])
686
+ end
687
+ indexes
688
+ end
689
+
690
+ # Dataset containing all current database locks
691
+ def locks
692
+ dataset.from(:pg_class).join(:pg_locks, :relation=>:relfilenode).select{[pg_class[:relname], Sequel::SQL::ColumnAll.new(:pg_locks)]}
693
+ end
694
+
695
+ # Notifies the given channel. See the PostgreSQL NOTIFY documentation. Options:
696
+ #
697
+ # :payload :: The payload string to use for the NOTIFY statement. Only supported
698
+ # in PostgreSQL 9.0+.
699
+ # :server :: The server to which to send the NOTIFY statement, if the sharding support
700
+ # is being used.
701
+ def notify(channel, opts=OPTS)
702
+ sql = String.new
703
+ sql << "NOTIFY "
704
+ dataset.send(:identifier_append, sql, channel)
705
+ if payload = opts[:payload]
706
+ sql << ", "
707
+ dataset.literal_append(sql, payload.to_s)
708
+ end
709
+ execute_ddl(sql, opts)
710
+ end
711
+
712
+ # Return primary key for the given table.
713
+ def primary_key(table, opts=OPTS)
714
+ quoted_table = quote_schema_table(table)
715
+ Sequel.synchronize{return @primary_keys[quoted_table] if @primary_keys.has_key?(quoted_table)}
716
+ sql = "#{SELECT_PK_SQL} AND pg_class.oid = #{literal(regclass_oid(table, opts))}"
717
+ value = fetch(sql).single_value
718
+ Sequel.synchronize{@primary_keys[quoted_table] = value}
719
+ end
720
+
721
+ # Return the sequence providing the default for the primary key for the given table.
722
+ def primary_key_sequence(table, opts=OPTS)
723
+ quoted_table = quote_schema_table(table)
724
+ Sequel.synchronize{return @primary_key_sequences[quoted_table] if @primary_key_sequences.has_key?(quoted_table)}
725
+ sql = "#{SELECT_SERIAL_SEQUENCE_SQL} AND t.oid = #{literal(regclass_oid(table, opts))}"
726
+ if pks = fetch(sql).single_record
727
+ value = literal(SQL::QualifiedIdentifier.new(pks[:schema], pks[:sequence]))
728
+ Sequel.synchronize{@primary_key_sequences[quoted_table] = value}
729
+ else
730
+ sql = "#{SELECT_CUSTOM_SEQUENCE_SQL} AND t.oid = #{literal(regclass_oid(table, opts))}"
731
+ if pks = fetch(sql).single_record
732
+ value = literal(SQL::QualifiedIdentifier.new(pks[:schema], LiteralString.new(pks[:sequence])))
733
+ Sequel.synchronize{@primary_key_sequences[quoted_table] = value}
734
+ end
735
+ end
736
+ end
737
+
738
+ # Refresh the materialized view with the given name.
739
+ #
740
+ # DB.refresh_view(:items_view)
741
+ # # REFRESH MATERIALIZED VIEW items_view
742
+ # DB.refresh_view(:items_view, :concurrently=>true)
743
+ # # REFRESH MATERIALIZED VIEW CONCURRENTLY items_view
744
+ def refresh_view(name, opts=OPTS)
745
+ run "REFRESH MATERIALIZED VIEW#{' CONCURRENTLY' if opts[:concurrently]} #{quote_schema_table(name)}"
746
+ end
747
+
748
+ # Reset the primary key sequence for the given table, basing it on the
749
+ # maximum current value of the table's primary key.
750
+ def reset_primary_key_sequence(table)
751
+ return unless seq = primary_key_sequence(table)
752
+ pk = SQL::Identifier.new(primary_key(table))
753
+ db = self
754
+ s, t = schema_and_table(table)
755
+ table = Sequel.qualify(s, t) if s
756
+
757
+ if server_version >= 100000
758
+ seq_ds = metadata_dataset.from(:pg_sequence).where(:seqrelid=>regclass_oid(LiteralString.new(seq)))
759
+ increment_by = :seqincrement
760
+ min_value = :seqmin
761
+ else
762
+ seq_ds = metadata_dataset.from(LiteralString.new(seq))
763
+ increment_by = :increment_by
764
+ min_value = :min_value
765
+ end
766
+
767
+ get{setval(seq, db[table].select(coalesce(max(pk)+seq_ds.select(increment_by), seq_ds.select(min_value))), false)}
768
+ end
769
+
770
+ def rollback_prepared_transaction(transaction_id, opts=OPTS)
771
+ run("ROLLBACK PREPARED #{literal(transaction_id)}", opts)
772
+ end
773
+
774
+ # PostgreSQL uses SERIAL psuedo-type instead of AUTOINCREMENT for
775
+ # managing incrementing primary keys.
776
+ def serial_primary_key_options
777
+ auto_increment_key = server_version >= 100002 ? :identity : :serial
778
+ {:primary_key => true, auto_increment_key => true, :type=>Integer}
779
+ end
780
+
781
+ # The version of the PostgreSQL server, used for determining capability.
782
+ def server_version(server=nil)
783
+ return @server_version if @server_version
784
+ ds = dataset
785
+ ds = ds.server(server) if server
786
+ @server_version = swallow_database_error{ds.with_sql("SELECT CAST(current_setting('server_version_num') AS integer) AS v").single_value} || 0
787
+ end
788
+
789
+ # PostgreSQL supports CREATE TABLE IF NOT EXISTS on 9.1+
790
+ def supports_create_table_if_not_exists?
791
+ server_version >= 90100
792
+ end
793
+
794
+ # PostgreSQL 9.0+ supports some types of deferrable constraints beyond foreign key constraints.
795
+ def supports_deferrable_constraints?
796
+ server_version >= 90000
797
+ end
798
+
799
+ # PostgreSQL supports deferrable foreign key constraints.
800
+ def supports_deferrable_foreign_key_constraints?
801
+ true
802
+ end
803
+
804
+ # PostgreSQL supports DROP TABLE IF EXISTS
805
+ def supports_drop_table_if_exists?
806
+ true
807
+ end
808
+
809
+ # PostgreSQL supports partial indexes.
810
+ def supports_partial_indexes?
811
+ true
812
+ end
813
+
814
+ # PostgreSQL 9.0+ supports trigger conditions.
815
+ def supports_trigger_conditions?
816
+ server_version >= 90000
817
+ end
818
+
819
+ # PostgreSQL supports prepared transactions (two-phase commit) if
820
+ # max_prepared_transactions is greater than 0.
821
+ def supports_prepared_transactions?
822
+ return @supports_prepared_transactions if defined?(@supports_prepared_transactions)
823
+ @supports_prepared_transactions = self['SHOW max_prepared_transactions'].get.to_i > 0
824
+ end
825
+
826
+ # PostgreSQL supports savepoints
827
+ def supports_savepoints?
828
+ true
829
+ end
830
+
831
+ # PostgreSQL supports transaction isolation levels
832
+ def supports_transaction_isolation_levels?
833
+ true
834
+ end
835
+
836
+ # PostgreSQL supports transaction DDL statements.
837
+ def supports_transactional_ddl?
838
+ true
839
+ end
840
+
841
+ # Array of symbols specifying table names in the current database.
842
+ # The dataset used is yielded to the block if one is provided,
843
+ # otherwise, an array of symbols of table names is returned.
844
+ #
845
+ # Options:
846
+ # :qualify :: Return the tables as Sequel::SQL::QualifiedIdentifier instances,
847
+ # using the schema the table is located in as the qualifier.
848
+ # :schema :: The schema to search
849
+ # :server :: The server to use
850
+ def tables(opts=OPTS, &block)
851
+ pg_class_relname(['r', 'p'], opts, &block)
852
+ end
853
+
854
+ # Check whether the given type name string/symbol (e.g. :hstore) is supported by
855
+ # the database.
856
+ def type_supported?(type)
857
+ Sequel.synchronize{return @supported_types[type] if @supported_types.has_key?(type)}
858
+ supported = from(:pg_type).where(:typtype=>'b', :typname=>type.to_s).count > 0
859
+ Sequel.synchronize{return @supported_types[type] = supported}
860
+ end
861
+
862
+ # Creates a dataset that uses the VALUES clause:
863
+ #
864
+ # DB.values([[1, 2], [3, 4]])
865
+ # # VALUES ((1, 2), (3, 4))
866
+ #
867
+ # DB.values([[1, 2], [3, 4]]).order(:column2).limit(1, 1)
868
+ # # VALUES ((1, 2), (3, 4)) ORDER BY column2 LIMIT 1 OFFSET 1
869
+ def values(v)
870
+ @default_dataset.clone(:values=>v)
871
+ end
872
+
873
+ # Array of symbols specifying view names in the current database.
874
+ #
875
+ # Options:
876
+ # :materialized :: Return materialized views
877
+ # :qualify :: Return the views as Sequel::SQL::QualifiedIdentifier instances,
878
+ # using the schema the view is located in as the qualifier.
879
+ # :schema :: The schema to search
880
+ # :server :: The server to use
881
+ def views(opts=OPTS)
882
+ relkind = opts[:materialized] ? 'm' : 'v'
883
+ pg_class_relname(relkind, opts)
884
+ end
885
+
886
+ private
887
+
888
+ def alter_table_add_column_sql(table, op)
889
+ "ADD COLUMN#{' IF NOT EXISTS' if op[:if_not_exists]} #{column_definition_sql(op)}"
890
+ end
891
+
892
+ def alter_table_generator_class
893
+ Postgres::AlterTableGenerator
894
+ end
895
+
896
+ def alter_table_set_column_type_sql(table, op)
897
+ s = super
898
+ if using = op[:using]
899
+ using = Sequel::LiteralString.new(using) if using.is_a?(String)
900
+ s += ' USING '
901
+ s << literal(using)
902
+ end
903
+ s
904
+ end
905
+
906
+ def alter_table_drop_column_sql(table, op)
907
+ "DROP COLUMN #{'IF EXISTS ' if op[:if_exists]}#{quote_identifier(op[:name])}#{' CASCADE' if op[:cascade]}"
908
+ end
909
+
910
+ def alter_table_validate_constraint_sql(table, op)
911
+ "VALIDATE CONSTRAINT #{quote_identifier(op[:name])}"
912
+ end
913
+
914
+ # If the :synchronous option is given and non-nil, set synchronous_commit
915
+ # appropriately. Valid values for the :synchronous option are true,
916
+ # :on, false, :off, :local, and :remote_write.
917
+ def begin_new_transaction(conn, opts)
918
+ super
919
+ if opts.has_key?(:synchronous)
920
+ case sync = opts[:synchronous]
921
+ when true
922
+ sync = :on
923
+ when false
924
+ sync = :off
925
+ when nil
926
+ return
927
+ end
928
+
929
+ log_connection_execute(conn, "SET LOCAL synchronous_commit = #{sync}")
930
+ end
931
+ end
932
+
933
+ # Set the READ ONLY transaction setting per savepoint, as PostgreSQL supports that.
934
+ def begin_savepoint(conn, opts)
935
+ super
936
+
937
+ unless (read_only = opts[:read_only]).nil?
938
+ log_connection_execute(conn, "SET TRANSACTION READ #{read_only ? 'ONLY' : 'WRITE'}")
939
+ end
940
+ end
941
+
942
+ # Literalize non-String collate options. This is because unquoted collatations
943
+ # are folded to lowercase, and PostgreSQL used mixed case or capitalized collations.
944
+ def column_definition_collate_sql(sql, column)
945
+ if collate = column[:collate]
946
+ collate = literal(collate) unless collate.is_a?(String)
947
+ sql << " COLLATE #{collate}"
948
+ end
949
+ end
950
+
951
+ # Support identity columns, but only use the identity SQL syntax if no
952
+ # default value is given.
953
+ def column_definition_default_sql(sql, column)
954
+ super
955
+ if !column[:serial] && !['smallserial', 'serial', 'bigserial'].include?(column[:type].to_s) && !column[:default]
956
+ if (identity = column[:identity])
957
+ sql << " GENERATED "
958
+ sql << (identity == :always ? "ALWAYS" : "BY DEFAULT")
959
+ sql << " AS IDENTITY"
960
+ elsif (generated = column[:generated_always_as])
961
+ sql << " GENERATED ALWAYS AS (#{literal(generated)}) STORED"
962
+ end
963
+ end
964
+ end
965
+
966
+ # Handle PostgreSQL specific default format.
967
+ def column_schema_normalize_default(default, type)
968
+ if m = /\A(?:B?('.*')::[^']+|\((-?\d+(?:\.\d+)?)\))\z/.match(default)
969
+ default = m[1] || m[2]
970
+ end
971
+ super(default, type)
972
+ end
973
+
974
+ # If the :prepare option is given and we aren't in a savepoint,
975
+ # prepare the transaction for a two-phase commit.
976
+ def commit_transaction(conn, opts=OPTS)
977
+ if (s = opts[:prepare]) && savepoint_level(conn) <= 1
978
+ log_connection_execute(conn, "PREPARE TRANSACTION #{literal(s)}")
979
+ else
980
+ super
981
+ end
982
+ end
983
+
984
+ # PostgreSQL can't combine rename_column operations, and it can combine
985
+ # the custom validate_constraint operation.
986
+ def combinable_alter_table_op?(op)
987
+ (super || op[:op] == :validate_constraint) && op[:op] != :rename_column
988
+ end
989
+
990
+ VALID_CLIENT_MIN_MESSAGES = %w'DEBUG5 DEBUG4 DEBUG3 DEBUG2 DEBUG1 LOG NOTICE WARNING ERROR FATAL PANIC'.freeze.each(&:freeze)
991
+ # The SQL queries to execute when starting a new connection.
992
+ def connection_configuration_sqls(opts=@opts)
993
+ sqls = []
994
+
995
+ sqls << "SET standard_conforming_strings = ON" if typecast_value_boolean(opts.fetch(:force_standard_strings, true))
996
+
997
+ cmm = opts.fetch(:client_min_messages, :warning)
998
+ if cmm && !cmm.to_s.empty?
999
+ cmm = cmm.to_s.upcase.strip
1000
+ unless VALID_CLIENT_MIN_MESSAGES.include?(cmm)
1001
+ raise Error, "Unsupported client_min_messages setting: #{cmm}"
1002
+ end
1003
+ sqls << "SET client_min_messages = '#{cmm.to_s.upcase}'"
1004
+ end
1005
+
1006
+ if search_path = opts[:search_path]
1007
+ case search_path
1008
+ when String
1009
+ search_path = search_path.split(",").map(&:strip)
1010
+ when Array
1011
+ # nil
1012
+ else
1013
+ raise Error, "unrecognized value for :search_path option: #{search_path.inspect}"
1014
+ end
1015
+ sqls << "SET search_path = #{search_path.map{|s| "\"#{s.gsub('"', '""')}\""}.join(',')}"
1016
+ end
1017
+
1018
+ sqls
1019
+ end
1020
+
1021
+ # Handle exclusion constraints.
1022
+ def constraint_definition_sql(constraint)
1023
+ case constraint[:type]
1024
+ when :exclude
1025
+ elements = constraint[:elements].map{|c, op| "#{literal(c)} WITH #{op}"}.join(', ')
1026
+ sql = String.new
1027
+ sql << "#{"CONSTRAINT #{quote_identifier(constraint[:name])} " if constraint[:name]}EXCLUDE USING #{constraint[:using]||'gist'} (#{elements})#{" WHERE #{filter_expr(constraint[:where])}" if constraint[:where]}"
1028
+ constraint_deferrable_sql_append(sql, constraint[:deferrable])
1029
+ sql
1030
+ when :foreign_key, :check
1031
+ sql = super
1032
+ if constraint[:not_valid]
1033
+ sql << " NOT VALID"
1034
+ end
1035
+ sql
1036
+ else
1037
+ super
1038
+ end
1039
+ end
1040
+
1041
+ def database_specific_error_class_from_sqlstate(sqlstate)
1042
+ if sqlstate == '23P01'
1043
+ ExclusionConstraintViolation
1044
+ elsif sqlstate == '40P01'
1045
+ SerializationFailure
1046
+ elsif sqlstate == '55P03'
1047
+ DatabaseLockTimeout
1048
+ else
1049
+ super
1050
+ end
1051
+ end
1052
+
1053
+ DATABASE_ERROR_REGEXPS = [
1054
+ # Add this check first, since otherwise it's possible for users to control
1055
+ # which exception class is generated.
1056
+ [/invalid input syntax/, DatabaseError],
1057
+ [/duplicate key value violates unique constraint/, UniqueConstraintViolation],
1058
+ [/violates foreign key constraint/, ForeignKeyConstraintViolation],
1059
+ [/violates check constraint/, CheckConstraintViolation],
1060
+ [/violates not-null constraint/, NotNullConstraintViolation],
1061
+ [/conflicting key value violates exclusion constraint/, ExclusionConstraintViolation],
1062
+ [/could not serialize access/, SerializationFailure],
1063
+ [/could not obtain lock on row in relation/, DatabaseLockTimeout],
1064
+ ].freeze
1065
+ def database_error_regexps
1066
+ DATABASE_ERROR_REGEXPS
1067
+ end
1068
+
1069
+ # SQL for doing fast table insert from stdin.
1070
+ def copy_into_sql(table, opts)
1071
+ sql = String.new
1072
+ sql << "COPY #{literal(table)}"
1073
+ if cols = opts[:columns]
1074
+ sql << literal(Array(cols))
1075
+ end
1076
+ sql << " FROM STDIN"
1077
+ if opts[:options] || opts[:format]
1078
+ sql << " ("
1079
+ sql << "FORMAT #{opts[:format]}" if opts[:format]
1080
+ sql << "#{', ' if opts[:format]}#{opts[:options]}" if opts[:options]
1081
+ sql << ')'
1082
+ end
1083
+ sql
1084
+ end
1085
+
1086
+ # SQL for doing fast table output to stdout.
1087
+ def copy_table_sql(table, opts)
1088
+ if table.is_a?(String)
1089
+ table
1090
+ else
1091
+ if opts[:options] || opts[:format]
1092
+ options = String.new
1093
+ options << " ("
1094
+ options << "FORMAT #{opts[:format]}" if opts[:format]
1095
+ options << "#{', ' if opts[:format]}#{opts[:options]}" if opts[:options]
1096
+ options << ')'
1097
+ end
1098
+ table = if table.is_a?(::Sequel::Dataset)
1099
+ "(#{table.sql})"
1100
+ else
1101
+ literal(table)
1102
+ end
1103
+ "COPY #{table} TO STDOUT#{options}"
1104
+ end
1105
+ end
1106
+
1107
+ # SQL statement to create database function.
1108
+ def create_function_sql(name, definition, opts=OPTS)
1109
+ args = opts[:args]
1110
+ if !opts[:args].is_a?(Array) || !opts[:args].any?{|a| Array(a).length == 3 and %w'OUT INOUT'.include?(a[2].to_s)}
1111
+ returns = opts[:returns] || 'void'
1112
+ end
1113
+ language = opts[:language] || 'SQL'
1114
+ <<-END
1115
+ CREATE#{' OR REPLACE' if opts[:replace]} FUNCTION #{name}#{sql_function_args(args)}
1116
+ #{"RETURNS #{returns}" if returns}
1117
+ LANGUAGE #{language}
1118
+ #{opts[:behavior].to_s.upcase if opts[:behavior]}
1119
+ #{'STRICT' if opts[:strict]}
1120
+ #{'SECURITY DEFINER' if opts[:security_definer]}
1121
+ #{"PARALLEL #{opts[:parallel].to_s.upcase}" if opts[:parallel]}
1122
+ #{"COST #{opts[:cost]}" if opts[:cost]}
1123
+ #{"ROWS #{opts[:rows]}" if opts[:rows]}
1124
+ #{opts[:set].map{|k,v| " SET #{k} = #{v}"}.join("\n") if opts[:set]}
1125
+ AS #{literal(definition.to_s)}#{", #{literal(opts[:link_symbol].to_s)}" if opts[:link_symbol]}
1126
+ END
1127
+ end
1128
+
1129
+ # SQL for creating a procedural language.
1130
+ def create_language_sql(name, opts=OPTS)
1131
+ "CREATE#{' OR REPLACE' if opts[:replace] && server_version >= 90000}#{' TRUSTED' if opts[:trusted]} LANGUAGE #{name}#{" HANDLER #{opts[:handler]}" if opts[:handler]}#{" VALIDATOR #{opts[:validator]}" if opts[:validator]}"
1132
+ end
1133
+
1134
+ # Create a partition of another table, used when the create_table with
1135
+ # the :partition_of option is given.
1136
+ def create_partition_of_table_from_generator(name, generator, options)
1137
+ execute_ddl(create_partition_of_table_sql(name, generator, options))
1138
+ end
1139
+
1140
+ # SQL for creating a partition of another table.
1141
+ def create_partition_of_table_sql(name, generator, options)
1142
+ sql = create_table_prefix_sql(name, options).dup
1143
+
1144
+ sql << " PARTITION OF #{quote_schema_table(options[:partition_of])}"
1145
+
1146
+ case generator.partition_type
1147
+ when :range
1148
+ from, to = generator.range
1149
+ sql << " FOR VALUES FROM #{literal(from)} TO #{literal(to)}"
1150
+ when :list
1151
+ sql << " FOR VALUES IN #{literal(generator.list)}"
1152
+ when :hash
1153
+ mod, remainder = generator.hash_values
1154
+ sql << " FOR VALUES WITH (MODULUS #{literal(mod)}, REMAINDER #{literal(remainder)})"
1155
+ when :default
1156
+ sql << " DEFAULT"
1157
+ end
1158
+
1159
+ sql << create_table_suffix_sql(name, options)
1160
+
1161
+ sql
1162
+ end
1163
+
1164
+ # SQL for creating a schema.
1165
+ def create_schema_sql(name, opts=OPTS)
1166
+ "CREATE SCHEMA #{'IF NOT EXISTS ' if opts[:if_not_exists]}#{quote_identifier(name)}#{" AUTHORIZATION #{literal(opts[:owner])}" if opts[:owner]}"
1167
+ end
1168
+
1169
+ # DDL statement for creating a table with the given name, columns, and options
1170
+ def create_table_prefix_sql(name, options)
1171
+ prefix_sql = if options[:temp]
1172
+ raise(Error, "can't provide both :temp and :unlogged to create_table") if options[:unlogged]
1173
+ raise(Error, "can't provide both :temp and :foreign to create_table") if options[:foreign]
1174
+ temporary_table_sql
1175
+ elsif options[:foreign]
1176
+ raise(Error, "can't provide both :foreign and :unlogged to create_table") if options[:unlogged]
1177
+ 'FOREIGN '
1178
+ elsif options[:unlogged]
1179
+ 'UNLOGGED '
1180
+ end
1181
+
1182
+ "CREATE #{prefix_sql}TABLE#{' IF NOT EXISTS' if options[:if_not_exists]} #{options[:temp] ? quote_identifier(name) : quote_schema_table(name)}"
1183
+ end
1184
+
1185
+ # SQL for creating a table with PostgreSQL specific options
1186
+ def create_table_sql(name, generator, options)
1187
+ "#{super}#{create_table_suffix_sql(name, options)}"
1188
+ end
1189
+
1190
+ # Handle various PostgreSQl specific table extensions such as inheritance,
1191
+ # partitioning, tablespaces, and foreign tables.
1192
+ def create_table_suffix_sql(name, options)
1193
+ sql = String.new
1194
+
1195
+ if inherits = options[:inherits]
1196
+ sql << " INHERITS (#{Array(inherits).map{|t| quote_schema_table(t)}.join(', ')})"
1197
+ end
1198
+
1199
+ if partition_by = options[:partition_by]
1200
+ sql << " PARTITION BY #{options[:partition_type]||'RANGE'} #{literal(Array(partition_by))}"
1201
+ end
1202
+
1203
+ if on_commit = options[:on_commit]
1204
+ raise(Error, "can't provide :on_commit without :temp to create_table") unless options[:temp]
1205
+ raise(Error, "unsupported on_commit option: #{on_commit.inspect}") unless ON_COMMIT.has_key?(on_commit)
1206
+ sql << " ON COMMIT #{ON_COMMIT[on_commit]}"
1207
+ end
1208
+
1209
+ if tablespace = options[:tablespace]
1210
+ sql << " TABLESPACE #{quote_identifier(tablespace)}"
1211
+ end
1212
+
1213
+ if server = options[:foreign]
1214
+ sql << " SERVER #{quote_identifier(server)}"
1215
+ if foreign_opts = options[:options]
1216
+ sql << " OPTIONS (#{foreign_opts.map{|k, v| "#{k} #{literal(v.to_s)}"}.join(', ')})"
1217
+ end
1218
+ end
1219
+
1220
+ sql
1221
+ end
1222
+
1223
+ def create_table_as_sql(name, sql, options)
1224
+ result = create_table_prefix_sql name, options
1225
+ if on_commit = options[:on_commit]
1226
+ result += " ON COMMIT #{ON_COMMIT[on_commit]}"
1227
+ end
1228
+ result += " AS #{sql}"
1229
+ end
1230
+
1231
+ def create_table_generator_class
1232
+ Postgres::CreateTableGenerator
1233
+ end
1234
+
1235
+ # SQL for creating a database trigger.
1236
+ def create_trigger_sql(table, name, function, opts=OPTS)
1237
+ events = opts[:events] ? Array(opts[:events]) : [:insert, :update, :delete]
1238
+ whence = opts[:after] ? 'AFTER' : 'BEFORE'
1239
+ if filter = opts[:when]
1240
+ raise Error, "Trigger conditions are not supported for this database" unless supports_trigger_conditions?
1241
+ filter = " WHEN #{filter_expr(filter)}"
1242
+ end
1243
+ "CREATE #{'OR REPLACE ' if opts[:replace]}TRIGGER #{name} #{whence} #{events.map{|e| e.to_s.upcase}.join(' OR ')} ON #{quote_schema_table(table)}#{' FOR EACH ROW' if opts[:each_row]}#{filter} EXECUTE PROCEDURE #{function}(#{Array(opts[:args]).map{|a| literal(a)}.join(', ')})"
1244
+ end
1245
+
1246
+ # DDL fragment for initial part of CREATE VIEW statement
1247
+ def create_view_prefix_sql(name, options)
1248
+ sql = create_view_sql_append_columns("CREATE #{'OR REPLACE 'if options[:replace]}#{'TEMPORARY 'if options[:temp]}#{'RECURSIVE ' if options[:recursive]}#{'MATERIALIZED ' if options[:materialized]}VIEW #{quote_schema_table(name)}", options[:columns] || options[:recursive])
1249
+
1250
+ if options[:security_invoker]
1251
+ sql += " WITH (security_invoker)"
1252
+ end
1253
+
1254
+ if tablespace = options[:tablespace]
1255
+ sql += " TABLESPACE #{quote_identifier(tablespace)}"
1256
+ end
1257
+
1258
+ sql
1259
+ end
1260
+
1261
+ # SQL for dropping a function from the database.
1262
+ def drop_function_sql(name, opts=OPTS)
1263
+ "DROP FUNCTION#{' IF EXISTS' if opts[:if_exists]} #{name}#{sql_function_args(opts[:args])}#{' CASCADE' if opts[:cascade]}"
1264
+ end
1265
+
1266
+ # Support :if_exists, :cascade, and :concurrently options.
1267
+ def drop_index_sql(table, op)
1268
+ sch, _ = schema_and_table(table)
1269
+ "DROP INDEX#{' CONCURRENTLY' if op[:concurrently]}#{' IF EXISTS' if op[:if_exists]} #{"#{quote_identifier(sch)}." if sch}#{quote_identifier(op[:name] || default_index_name(table, op[:columns]))}#{' CASCADE' if op[:cascade]}"
1270
+ end
1271
+
1272
+ # SQL for dropping a procedural language from the database.
1273
+ def drop_language_sql(name, opts=OPTS)
1274
+ "DROP LANGUAGE#{' IF EXISTS' if opts[:if_exists]} #{name}#{' CASCADE' if opts[:cascade]}"
1275
+ end
1276
+
1277
+ # SQL for dropping a schema from the database.
1278
+ def drop_schema_sql(name, opts=OPTS)
1279
+ "DROP SCHEMA#{' IF EXISTS' if opts[:if_exists]} #{quote_identifier(name)}#{' CASCADE' if opts[:cascade]}"
1280
+ end
1281
+
1282
+ # SQL for dropping a trigger from the database.
1283
+ def drop_trigger_sql(table, name, opts=OPTS)
1284
+ "DROP TRIGGER#{' IF EXISTS' if opts[:if_exists]} #{name} ON #{quote_schema_table(table)}#{' CASCADE' if opts[:cascade]}"
1285
+ end
1286
+
1287
+ # Support :foreign tables
1288
+ def drop_table_sql(name, options)
1289
+ "DROP#{' FOREIGN' if options[:foreign]} TABLE#{' IF EXISTS' if options[:if_exists]} #{quote_schema_table(name)}#{' CASCADE' if options[:cascade]}"
1290
+ end
1291
+
1292
+ # SQL for dropping a view from the database.
1293
+ def drop_view_sql(name, opts=OPTS)
1294
+ "DROP #{'MATERIALIZED ' if opts[:materialized]}VIEW#{' IF EXISTS' if opts[:if_exists]} #{quote_schema_table(name)}#{' CASCADE' if opts[:cascade]}"
1295
+ end
1296
+
1297
+ # If opts includes a :schema option, use it, otherwise restrict the filter to only the
1298
+ # currently visible schemas.
1299
+ def filter_schema(ds, opts)
1300
+ expr = if schema = opts[:schema]
1301
+ schema.to_s
1302
+ else
1303
+ Sequel.function(:any, Sequel.function(:current_schemas, false))
1304
+ end
1305
+ ds.where{{pg_namespace[:nspname]=>expr}}
1306
+ end
1307
+
1308
+ def index_definition_sql(table_name, index)
1309
+ cols = index[:columns]
1310
+ index_name = index[:name] || default_index_name(table_name, cols)
1311
+
1312
+ expr = if o = index[:opclass]
1313
+ "(#{Array(cols).map{|c| "#{literal(c)} #{o}"}.join(', ')})"
1314
+ else
1315
+ literal(Array(cols))
1316
+ end
1317
+
1318
+ if_not_exists = " IF NOT EXISTS" if index[:if_not_exists]
1319
+ unique = "UNIQUE " if index[:unique]
1320
+ index_type = index[:type]
1321
+ filter = index[:where] || index[:filter]
1322
+ filter = " WHERE #{filter_expr(filter)}" if filter
1323
+ nulls_distinct = " NULLS#{' NOT' if index[:nulls_distinct] == false} DISTINCT" unless index[:nulls_distinct].nil?
1324
+
1325
+ case index_type
1326
+ when :full_text
1327
+ expr = "(to_tsvector(#{literal(index[:language] || 'simple')}::regconfig, #{literal(dataset.send(:full_text_string_join, cols))}))"
1328
+ index_type = index[:index_type] || :gin
1329
+ when :spatial
1330
+ index_type = :gist
1331
+ end
1332
+
1333
+ "CREATE #{unique}INDEX#{' CONCURRENTLY' if index[:concurrently]}#{if_not_exists} #{quote_identifier(index_name)} ON #{quote_schema_table(table_name)} #{"USING #{index_type} " if index_type}#{expr}#{" INCLUDE #{literal(Array(index[:include]))}" if index[:include]}#{nulls_distinct}#{" TABLESPACE #{quote_identifier(index[:tablespace])}" if index[:tablespace]}#{filter}"
1334
+ end
1335
+
1336
+ # Setup datastructures shared by all postgres adapters.
1337
+ def initialize_postgres_adapter
1338
+ @primary_keys = {}
1339
+ @primary_key_sequences = {}
1340
+ @supported_types = {}
1341
+ procs = @conversion_procs = CONVERSION_PROCS.dup
1342
+ procs[1184] = procs[1114] = method(:to_application_timestamp)
1343
+ end
1344
+
1345
+ # Backbone of the tables and views support.
1346
+ def pg_class_relname(type, opts)
1347
+ ds = metadata_dataset.from(:pg_class).where(:relkind=>type).select(:relname).server(opts[:server]).join(:pg_namespace, :oid=>:relnamespace)
1348
+ ds = filter_schema(ds, opts)
1349
+ m = output_identifier_meth
1350
+ if defined?(yield)
1351
+ yield(ds)
1352
+ elsif opts[:qualify]
1353
+ ds.select_append{pg_namespace[:nspname]}.map{|r| Sequel.qualify(m.call(r[:nspname]).to_s, m.call(r[:relname]).to_s)}
1354
+ else
1355
+ ds.map{|r| m.call(r[:relname])}
1356
+ end
1357
+ end
1358
+
1359
+ # Use a dollar sign instead of question mark for the argument placeholder.
1360
+ def prepared_arg_placeholder
1361
+ PREPARED_ARG_PLACEHOLDER
1362
+ end
1363
+
1364
+ # Return an expression the oid for the table expr. Used by the metadata parsing
1365
+ # code to disambiguate unqualified tables.
1366
+ def regclass_oid(expr, opts=OPTS)
1367
+ if expr.is_a?(String) && !expr.is_a?(LiteralString)
1368
+ expr = Sequel.identifier(expr)
1369
+ end
1370
+
1371
+ sch, table = schema_and_table(expr)
1372
+ sch ||= opts[:schema]
1373
+ if sch
1374
+ expr = Sequel.qualify(sch, table)
1375
+ end
1376
+
1377
+ expr = if ds = opts[:dataset]
1378
+ ds.literal(expr)
1379
+ else
1380
+ literal(expr)
1381
+ end
1382
+
1383
+ Sequel.cast(expr.to_s,:regclass).cast(:oid)
1384
+ end
1385
+
1386
+ # Remove the cached entries for primary keys and sequences when a table is changed.
1387
+ def remove_cached_schema(table)
1388
+ tab = quote_schema_table(table)
1389
+ Sequel.synchronize do
1390
+ @primary_keys.delete(tab)
1391
+ @primary_key_sequences.delete(tab)
1392
+ end
1393
+ super
1394
+ end
1395
+
1396
+ # SQL DDL statement for renaming a table. PostgreSQL doesn't allow you to change a table's schema in
1397
+ # a rename table operation, so speciying a new schema in new_name will not have an effect.
1398
+ def rename_table_sql(name, new_name)
1399
+ "ALTER TABLE #{quote_schema_table(name)} RENAME TO #{quote_identifier(schema_and_table(new_name).last)}"
1400
+ end
1401
+
1402
+ def schema_column_type(db_type)
1403
+ case db_type
1404
+ when /\Ainterval\z/io
1405
+ :interval
1406
+ when /\Acitext\z/io
1407
+ :string
1408
+ else
1409
+ super
1410
+ end
1411
+ end
1412
+
1413
+ # The dataset used for parsing table schemas, using the pg_* system catalogs.
1414
+ def schema_parse_table(table_name, opts)
1415
+ m = output_identifier_meth(opts[:dataset])
1416
+ oid = regclass_oid(table_name, opts)
1417
+ ds = metadata_dataset.select{[
1418
+ pg_attribute[:attname].as(:name),
1419
+ SQL::Cast.new(pg_attribute[:atttypid], :integer).as(:oid),
1420
+ SQL::Cast.new(basetype[:oid], :integer).as(:base_oid),
1421
+ SQL::Function.new(:format_type, basetype[:oid], pg_type[:typtypmod]).as(:db_base_type),
1422
+ SQL::Function.new(:format_type, pg_type[:oid], pg_attribute[:atttypmod]).as(:db_type),
1423
+ SQL::Function.new(:pg_get_expr, pg_attrdef[:adbin], pg_class[:oid]).as(:default),
1424
+ SQL::BooleanExpression.new(:NOT, pg_attribute[:attnotnull]).as(:allow_null),
1425
+ SQL::Function.new(:COALESCE, SQL::BooleanExpression.from_value_pairs(pg_attribute[:attnum] => SQL::Function.new(:ANY, pg_index[:indkey])), false).as(:primary_key)]}.
1426
+ from(:pg_class).
1427
+ join(:pg_attribute, :attrelid=>:oid).
1428
+ join(:pg_type, :oid=>:atttypid).
1429
+ left_outer_join(Sequel[:pg_type].as(:basetype), :oid=>:typbasetype).
1430
+ left_outer_join(:pg_attrdef, :adrelid=>Sequel[:pg_class][:oid], :adnum=>Sequel[:pg_attribute][:attnum]).
1431
+ left_outer_join(:pg_index, :indrelid=>Sequel[:pg_class][:oid], :indisprimary=>true).
1432
+ where{{pg_attribute[:attisdropped]=>false}}.
1433
+ where{pg_attribute[:attnum] > 0}.
1434
+ where{{pg_class[:oid]=>oid}}.
1435
+ order{pg_attribute[:attnum]}
1436
+
1437
+ if server_version > 100000
1438
+ ds = ds.select_append{pg_attribute[:attidentity]}
1439
+
1440
+ if server_version > 120000
1441
+ ds = ds.select_append{Sequel.~(pg_attribute[:attgenerated]=>'').as(:generated)}
1442
+ end
1443
+ end
1444
+
1445
+ ds.map do |row|
1446
+ row[:default] = nil if blank_object?(row[:default])
1447
+ if row[:base_oid]
1448
+ row[:domain_oid] = row[:oid]
1449
+ row[:oid] = row.delete(:base_oid)
1450
+ row[:db_domain_type] = row[:db_type]
1451
+ row[:db_type] = row.delete(:db_base_type)
1452
+ else
1453
+ row.delete(:base_oid)
1454
+ row.delete(:db_base_type)
1455
+ end
1456
+ row[:type] = schema_column_type(row[:db_type])
1457
+ identity = row.delete(:attidentity)
1458
+ if row[:primary_key]
1459
+ row[:auto_increment] = !!(row[:default] =~ /\A(?:nextval)/i) || identity == 'a' || identity == 'd'
1460
+ end
1461
+ [m.call(row.delete(:name)), row]
1462
+ end
1463
+ end
1464
+
1465
+ # Set the transaction isolation level on the given connection
1466
+ def set_transaction_isolation(conn, opts)
1467
+ level = opts.fetch(:isolation, transaction_isolation_level)
1468
+ read_only = opts[:read_only]
1469
+ deferrable = opts[:deferrable]
1470
+ if level || !read_only.nil? || !deferrable.nil?
1471
+ sql = String.new
1472
+ sql << "SET TRANSACTION"
1473
+ sql << " ISOLATION LEVEL #{Sequel::Database::TRANSACTION_ISOLATION_LEVELS[level]}" if level
1474
+ sql << " READ #{read_only ? 'ONLY' : 'WRITE'}" unless read_only.nil?
1475
+ sql << " #{'NOT ' unless deferrable}DEFERRABLE" unless deferrable.nil?
1476
+ log_connection_execute(conn, sql)
1477
+ end
1478
+ end
1479
+
1480
+ # Turns an array of argument specifiers into an SQL fragment used for function arguments. See create_function_sql.
1481
+ def sql_function_args(args)
1482
+ "(#{Array(args).map{|a| Array(a).reverse.join(' ')}.join(', ')})"
1483
+ end
1484
+
1485
+ # PostgreSQL can combine multiple alter table ops into a single query.
1486
+ def supports_combining_alter_table_ops?
1487
+ true
1488
+ end
1489
+
1490
+ # PostgreSQL supports CREATE OR REPLACE VIEW.
1491
+ def supports_create_or_replace_view?
1492
+ true
1493
+ end
1494
+
1495
+ # Handle bigserial type if :serial option is present
1496
+ def type_literal_generic_bignum_symbol(column)
1497
+ column[:serial] ? :bigserial : super
1498
+ end
1499
+
1500
+ # PostgreSQL uses the bytea data type for blobs
1501
+ def type_literal_generic_file(column)
1502
+ :bytea
1503
+ end
1504
+
1505
+ # Handle serial type if :serial option is present
1506
+ def type_literal_generic_integer(column)
1507
+ column[:serial] ? :serial : super
1508
+ end
1509
+
1510
+ # PostgreSQL prefers the text datatype. If a fixed size is requested,
1511
+ # the char type is used. If the text type is specifically
1512
+ # disallowed or there is a size specified, use the varchar type.
1513
+ # Otherwise use the text type.
1514
+ def type_literal_generic_string(column)
1515
+ if column[:text]
1516
+ :text
1517
+ elsif column[:fixed]
1518
+ "char(#{column[:size]||default_string_column_size})"
1519
+ elsif column[:text] == false || column[:size]
1520
+ "varchar(#{column[:size]||default_string_column_size})"
1521
+ else
1522
+ :text
1523
+ end
1524
+ end
1525
+
1526
+ # PostgreSQL 9.4+ supports views with check option.
1527
+ def view_with_check_option_support
1528
+ :local if server_version >= 90400
1529
+ end
1530
+ end
1531
+
1532
+ module DatasetMethods
1533
+ include UnmodifiedIdentifiers::DatasetMethods
1534
+
1535
+ NULL = LiteralString.new('NULL').freeze
1536
+ LOCK_MODES = ['ACCESS SHARE', 'ROW SHARE', 'ROW EXCLUSIVE', 'SHARE UPDATE EXCLUSIVE', 'SHARE', 'SHARE ROW EXCLUSIVE', 'EXCLUSIVE', 'ACCESS EXCLUSIVE'].each(&:freeze).freeze
1537
+
1538
+ Dataset.def_sql_method(self, :delete, [['if server_version >= 90100', %w'with delete from using where returning'], ['else', %w'delete from using where returning']])
1539
+ Dataset.def_sql_method(self, :insert, [['if server_version >= 90500', %w'with insert into columns override values conflict returning'], ['elsif server_version >= 90100', %w'with insert into columns values returning'], ['else', %w'insert into columns values returning']])
1540
+ Dataset.def_sql_method(self, :select, [['if opts[:values]', %w'values order limit'], ['elsif server_version >= 80400', %w'with select distinct columns from join where group having window compounds order limit lock'], ['else', %w'select distinct columns from join where group having compounds order limit lock']])
1541
+ Dataset.def_sql_method(self, :update, [['if server_version >= 90100', %w'with update table set from where returning'], ['else', %w'update table set from where returning']])
1542
+
1543
+ # Return the results of an EXPLAIN ANALYZE query as a string
1544
+ def analyze
1545
+ explain(:analyze=>true)
1546
+ end
1547
+
1548
+ # Handle converting the ruby xor operator (^) into the
1549
+ # PostgreSQL xor operator (#), and use the ILIKE and NOT ILIKE
1550
+ # operators.
1551
+ def complex_expression_sql_append(sql, op, args)
1552
+ case op
1553
+ when :^
1554
+ j = ' # '
1555
+ c = false
1556
+ args.each do |a|
1557
+ sql << j if c
1558
+ literal_append(sql, a)
1559
+ c ||= true
1560
+ end
1561
+ when :ILIKE, :'NOT ILIKE'
1562
+ sql << '('
1563
+ literal_append(sql, args[0])
1564
+ sql << ' ' << op.to_s << ' '
1565
+ literal_append(sql, args[1])
1566
+ sql << " ESCAPE "
1567
+ literal_append(sql, "\\")
1568
+ sql << ')'
1569
+ else
1570
+ super
1571
+ end
1572
+ end
1573
+
1574
+ # Disables automatic use of INSERT ... RETURNING. You can still use
1575
+ # returning manually to force the use of RETURNING when inserting.
1576
+ #
1577
+ # This is designed for cases where INSERT RETURNING cannot be used,
1578
+ # such as when you are using partitioning with trigger functions
1579
+ # or conditional rules, or when you are using a PostgreSQL version
1580
+ # less than 8.2, or a PostgreSQL derivative that does not support
1581
+ # returning.
1582
+ #
1583
+ # Note that when this method is used, insert will not return the
1584
+ # primary key of the inserted row, you will have to get the primary
1585
+ # key of the inserted row before inserting via nextval, or after
1586
+ # inserting via currval or lastval (making sure to use the same
1587
+ # database connection for currval or lastval).
1588
+ def disable_insert_returning
1589
+ clone(:disable_insert_returning=>true)
1590
+ end
1591
+
1592
+ # Return the results of an EXPLAIN query as a string
1593
+ def explain(opts=OPTS)
1594
+ with_sql((opts[:analyze] ? 'EXPLAIN ANALYZE ' : 'EXPLAIN ') + select_sql).map(:'QUERY PLAN').join("\r\n")
1595
+ end
1596
+
1597
+ # Return a cloned dataset which will use FOR SHARE to lock returned rows.
1598
+ def for_share
1599
+ lock_style(:share)
1600
+ end
1601
+
1602
+ # Run a full text search on PostgreSQL. By default, searching for the inclusion
1603
+ # of any of the terms in any of the cols.
1604
+ #
1605
+ # Options:
1606
+ # :headline :: Append a expression to the selected columns aliased to headline that
1607
+ # contains an extract of the matched text.
1608
+ # :language :: The language to use for the search (default: 'simple')
1609
+ # :plain :: Whether a plain search should be used (default: false). In this case,
1610
+ # terms should be a single string, and it will do a search where cols
1611
+ # contains all of the words in terms. This ignores search operators in terms.
1612
+ # :phrase :: Similar to :plain, but also adding an ILIKE filter to ensure that
1613
+ # returned rows also include the exact phrase used.
1614
+ # :rank :: Set to true to order by the rank, so that closer matches are returned first.
1615
+ # :to_tsquery :: Can be set to :plain or :phrase to specify the function to use to
1616
+ # convert the terms to a ts_query.
1617
+ # :tsquery :: Specifies the terms argument is already a valid SQL expression returning a
1618
+ # tsquery, and can be used directly in the query.
1619
+ # :tsvector :: Specifies the cols argument is already a valid SQL expression returning a
1620
+ # tsvector, and can be used directly in the query.
1621
+ def full_text_search(cols, terms, opts = OPTS)
1622
+ lang = Sequel.cast(opts[:language] || 'simple', :regconfig)
1623
+
1624
+ unless opts[:tsvector]
1625
+ phrase_cols = full_text_string_join(cols)
1626
+ cols = Sequel.function(:to_tsvector, lang, phrase_cols)
1627
+ end
1628
+
1629
+ unless opts[:tsquery]
1630
+ phrase_terms = terms.is_a?(Array) ? terms.join(' | ') : terms
1631
+
1632
+ query_func = case to_tsquery = opts[:to_tsquery]
1633
+ when :phrase, :plain
1634
+ :"#{to_tsquery}to_tsquery"
1635
+ else
1636
+ (opts[:phrase] || opts[:plain]) ? :plainto_tsquery : :to_tsquery
1637
+ end
1638
+
1639
+ terms = Sequel.function(query_func, lang, phrase_terms)
1640
+ end
1641
+
1642
+ ds = where(Sequel.lit(["", " @@ ", ""], cols, terms))
1643
+
1644
+ if opts[:phrase]
1645
+ raise Error, "can't use :phrase with either :tsvector or :tsquery arguments to full_text_search together" if opts[:tsvector] || opts[:tsquery]
1646
+ ds = ds.grep(phrase_cols, "%#{escape_like(phrase_terms)}%", :case_insensitive=>true)
1647
+ end
1648
+
1649
+ if opts[:rank]
1650
+ ds = ds.reverse{ts_rank_cd(cols, terms)}
1651
+ end
1652
+
1653
+ if opts[:headline]
1654
+ ds = ds.select_append{ts_headline(lang, phrase_cols, terms).as(:headline)}
1655
+ end
1656
+
1657
+ ds
1658
+ end
1659
+
1660
+ # Insert given values into the database.
1661
+ def insert(*values)
1662
+ if @opts[:returning]
1663
+ # Already know which columns to return, let the standard code handle it
1664
+ super
1665
+ elsif @opts[:sql] || @opts[:disable_insert_returning]
1666
+ # Raw SQL used or RETURNING disabled, just use the default behavior
1667
+ # and return nil since sequence is not known.
1668
+ super
1669
+ nil
1670
+ else
1671
+ # Force the use of RETURNING with the primary key value,
1672
+ # unless it has been disabled.
1673
+ returning(insert_pk).insert(*values){|r| return r.values.first}
1674
+ end
1675
+ end
1676
+
1677
+ # Handle uniqueness violations when inserting, by updating the conflicting row, using
1678
+ # ON CONFLICT. With no options, uses ON CONFLICT DO NOTHING. Options:
1679
+ # :conflict_where :: The index filter, when using a partial index to determine uniqueness.
1680
+ # :constraint :: An explicit constraint name, has precendence over :target.
1681
+ # :target :: The column name or expression to handle uniqueness violations on.
1682
+ # :update :: A hash of columns and values to set. Uses ON CONFLICT DO UPDATE.
1683
+ # :update_where :: A WHERE condition to use for the update.
1684
+ #
1685
+ # Examples:
1686
+ #
1687
+ # DB[:table].insert_conflict.insert(a: 1, b: 2)
1688
+ # # INSERT INTO TABLE (a, b) VALUES (1, 2)
1689
+ # # ON CONFLICT DO NOTHING
1690
+ #
1691
+ # DB[:table].insert_conflict(constraint: :table_a_uidx).insert(a: 1, b: 2)
1692
+ # # INSERT INTO TABLE (a, b) VALUES (1, 2)
1693
+ # # ON CONFLICT ON CONSTRAINT table_a_uidx DO NOTHING
1694
+ #
1695
+ # DB[:table].insert_conflict(target: :a).insert(a: 1, b: 2)
1696
+ # # INSERT INTO TABLE (a, b) VALUES (1, 2)
1697
+ # # ON CONFLICT (a) DO NOTHING
1698
+ #
1699
+ # DB[:table].insert_conflict(target: :a, conflict_where: {c: true}).insert(a: 1, b: 2)
1700
+ # # INSERT INTO TABLE (a, b) VALUES (1, 2)
1701
+ # # ON CONFLICT (a) WHERE (c IS TRUE) DO NOTHING
1702
+ #
1703
+ # DB[:table].insert_conflict(target: :a, update: {b: Sequel[:excluded][:b]}).insert(a: 1, b: 2)
1704
+ # # INSERT INTO TABLE (a, b) VALUES (1, 2)
1705
+ # # ON CONFLICT (a) DO UPDATE SET b = excluded.b
1706
+ #
1707
+ # DB[:table].insert_conflict(constraint: :table_a_uidx,
1708
+ # update: {b: Sequel[:excluded][:b]}, update_where: {Sequel[:table][:status_id] => 1}).insert(a: 1, b: 2)
1709
+ # # INSERT INTO TABLE (a, b) VALUES (1, 2)
1710
+ # # ON CONFLICT ON CONSTRAINT table_a_uidx
1711
+ # # DO UPDATE SET b = excluded.b WHERE (table.status_id = 1)
1712
+ def insert_conflict(opts=OPTS)
1713
+ clone(:insert_conflict => opts)
1714
+ end
1715
+
1716
+ # Ignore uniqueness/exclusion violations when inserting, using ON CONFLICT DO NOTHING.
1717
+ # Exists mostly for compatibility to MySQL's insert_ignore. Example:
1718
+ #
1719
+ # DB[:table].insert_ignore.insert(a: 1, b: 2)
1720
+ # # INSERT INTO TABLE (a, b) VALUES (1, 2)
1721
+ # # ON CONFLICT DO NOTHING
1722
+ def insert_ignore
1723
+ insert_conflict
1724
+ end
1725
+
1726
+ # Insert a record, returning the record inserted, using RETURNING. Always returns nil without
1727
+ # running an INSERT statement if disable_insert_returning is used. If the query runs
1728
+ # but returns no values, returns false.
1729
+ def insert_select(*values)
1730
+ return unless supports_insert_select?
1731
+ # Handle case where query does not return a row
1732
+ server?(:default).with_sql_first(insert_select_sql(*values)) || false
1733
+ end
1734
+
1735
+ # The SQL to use for an insert_select, adds a RETURNING clause to the insert
1736
+ # unless the RETURNING clause is already present.
1737
+ def insert_select_sql(*values)
1738
+ ds = opts[:returning] ? self : returning
1739
+ ds.insert_sql(*values)
1740
+ end
1741
+
1742
+ # Support SQL::AliasedExpression as expr to setup a USING join with a table alias for the
1743
+ # USING columns.
1744
+ def join_table(type, table, expr=nil, options=OPTS, &block)
1745
+ if expr.is_a?(SQL::AliasedExpression) && expr.expression.is_a?(Array) && !expr.expression.empty? && expr.expression.all?
1746
+ options = options.merge(:join_using=>true)
1747
+ end
1748
+ super
1749
+ end
1750
+
1751
+ # Locks all tables in the dataset's FROM clause (but not in JOINs) with
1752
+ # the specified mode (e.g. 'EXCLUSIVE'). If a block is given, starts
1753
+ # a new transaction, locks the table, and yields. If a block is not given,
1754
+ # just locks the tables. Note that PostgreSQL will probably raise an error
1755
+ # if you lock the table outside of an existing transaction. Returns nil.
1756
+ def lock(mode, opts=OPTS)
1757
+ if defined?(yield) # perform locking inside a transaction and yield to block
1758
+ @db.transaction(opts){lock(mode, opts); yield}
1759
+ else
1760
+ sql = 'LOCK TABLE '.dup
1761
+ source_list_append(sql, @opts[:from])
1762
+ mode = mode.to_s.upcase.strip
1763
+ unless LOCK_MODES.include?(mode)
1764
+ raise Error, "Unsupported lock mode: #{mode}"
1765
+ end
1766
+ sql << " IN #{mode} MODE"
1767
+ @db.execute(sql, opts)
1768
+ end
1769
+ nil
1770
+ end
1771
+
1772
+ # Return a dataset with a WHEN MATCHED THEN DO NOTHING clause added to the
1773
+ # MERGE statement. If a block is passed, treat it as a virtual row and
1774
+ # use it as additional conditions for the match.
1775
+ #
1776
+ # merge_do_nothing_when_matched
1777
+ # # WHEN MATCHED THEN DO NOTHING
1778
+ #
1779
+ # merge_do_nothing_when_matched{a > 30}
1780
+ # # WHEN MATCHED AND (a > 30) THEN DO NOTHING
1781
+ def merge_do_nothing_when_matched(&block)
1782
+ _merge_when(:type=>:matched, &block)
1783
+ end
1784
+
1785
+ # Return a dataset with a WHEN NOT MATCHED THEN DO NOTHING clause added to the
1786
+ # MERGE statement. If a block is passed, treat it as a virtual row and
1787
+ # use it as additional conditions for the match.
1788
+ #
1789
+ # merge_do_nothing_when_not_matched
1790
+ # # WHEN NOT MATCHED THEN DO NOTHING
1791
+ #
1792
+ # merge_do_nothing_when_not_matched{a > 30}
1793
+ # # WHEN NOT MATCHED AND (a > 30) THEN DO NOTHING
1794
+ def merge_do_nothing_when_not_matched(&block)
1795
+ _merge_when(:type=>:not_matched, &block)
1796
+ end
1797
+
1798
+ # Support OVERRIDING USER|SYSTEM VALUE for MERGE INSERT.
1799
+ def merge_insert(*values, &block)
1800
+ h = {:type=>:insert, :values=>values}
1801
+ if override = @opts[:override]
1802
+ h[:override] = insert_override_sql(String.new)
1803
+ end
1804
+ _merge_when(h, &block)
1805
+ end
1806
+
1807
+ # Use OVERRIDING USER VALUE for INSERT statements, so that identity columns
1808
+ # always use the user supplied value, and an error is not raised for identity
1809
+ # columns that are GENERATED ALWAYS.
1810
+ def overriding_system_value
1811
+ clone(:override=>:system)
1812
+ end
1813
+
1814
+ # Use OVERRIDING USER VALUE for INSERT statements, so that identity columns
1815
+ # always use the sequence value instead of the user supplied value.
1816
+ def overriding_user_value
1817
+ clone(:override=>:user)
1818
+ end
1819
+
1820
+ def supports_cte?(type=:select)
1821
+ if type == :select
1822
+ server_version >= 80400
1823
+ else
1824
+ server_version >= 90100
1825
+ end
1826
+ end
1827
+
1828
+ # PostgreSQL supports using the WITH clause in subqueries if it
1829
+ # supports using WITH at all (i.e. on PostgreSQL 8.4+).
1830
+ def supports_cte_in_subqueries?
1831
+ supports_cte?
1832
+ end
1833
+
1834
+ # DISTINCT ON is a PostgreSQL extension
1835
+ def supports_distinct_on?
1836
+ true
1837
+ end
1838
+
1839
+ # PostgreSQL 9.5+ supports GROUP CUBE
1840
+ def supports_group_cube?
1841
+ server_version >= 90500
1842
+ end
1843
+
1844
+ # PostgreSQL 9.5+ supports GROUP ROLLUP
1845
+ def supports_group_rollup?
1846
+ server_version >= 90500
1847
+ end
1848
+
1849
+ # PostgreSQL 9.5+ supports GROUPING SETS
1850
+ def supports_grouping_sets?
1851
+ server_version >= 90500
1852
+ end
1853
+
1854
+ # True unless insert returning has been disabled for this dataset.
1855
+ def supports_insert_select?
1856
+ !@opts[:disable_insert_returning]
1857
+ end
1858
+
1859
+ # PostgreSQL 9.5+ supports the ON CONFLICT clause to INSERT.
1860
+ def supports_insert_conflict?
1861
+ server_version >= 90500
1862
+ end
1863
+
1864
+ # PostgreSQL 9.3+ supports lateral subqueries
1865
+ def supports_lateral_subqueries?
1866
+ server_version >= 90300
1867
+ end
1868
+
1869
+ # PostgreSQL supports modifying joined datasets
1870
+ def supports_modifying_joins?
1871
+ true
1872
+ end
1873
+
1874
+ # PostgreSQL 15+ supports MERGE.
1875
+ def supports_merge?
1876
+ server_version >= 150000
1877
+ end
1878
+
1879
+ # PostgreSQL supports NOWAIT.
1880
+ def supports_nowait?
1881
+ true
1882
+ end
1883
+
1884
+ # Returning is always supported.
1885
+ def supports_returning?(type)
1886
+ true
1887
+ end
1888
+
1889
+ # PostgreSQL supports pattern matching via regular expressions
1890
+ def supports_regexp?
1891
+ true
1892
+ end
1893
+
1894
+ # PostgreSQL 9.5+ supports SKIP LOCKED.
1895
+ def supports_skip_locked?
1896
+ server_version >= 90500
1897
+ end
1898
+
1899
+ # PostgreSQL supports timezones in literal timestamps
1900
+ def supports_timestamp_timezones?
1901
+ true
1902
+ end
1903
+
1904
+ # PostgreSQL 8.4+ supports WINDOW clause.
1905
+ def supports_window_clause?
1906
+ server_version >= 80400
1907
+ end
1908
+
1909
+ # PostgreSQL 8.4+ supports window functions
1910
+ def supports_window_functions?
1911
+ server_version >= 80400
1912
+ end
1913
+
1914
+ # Base support added in 8.4, offset supported added in 9.0,
1915
+ # GROUPS and EXCLUDE support added in 11.0.
1916
+ def supports_window_function_frame_option?(option)
1917
+ case option
1918
+ when :rows, :range
1919
+ true
1920
+ when :offset
1921
+ server_version >= 90000
1922
+ when :groups, :exclude
1923
+ server_version >= 110000
1924
+ end
1925
+ end
1926
+
1927
+ # Truncates the dataset. Returns nil.
1928
+ #
1929
+ # Options:
1930
+ # :cascade :: whether to use the CASCADE option, useful when truncating
1931
+ # tables with foreign keys.
1932
+ # :only :: truncate using ONLY, so child tables are unaffected
1933
+ # :restart :: use RESTART IDENTITY to restart any related sequences
1934
+ #
1935
+ # :only and :restart only work correctly on PostgreSQL 8.4+.
1936
+ #
1937
+ # Usage:
1938
+ # DB[:table].truncate
1939
+ # # TRUNCATE TABLE "table"
1940
+ #
1941
+ # DB[:table].truncate(cascade: true, only: true, restart: true)
1942
+ # # TRUNCATE TABLE ONLY "table" RESTART IDENTITY CASCADE
1943
+ def truncate(opts = OPTS)
1944
+ if opts.empty?
1945
+ super()
1946
+ else
1947
+ clone(:truncate_opts=>opts).truncate
1948
+ end
1949
+ end
1950
+
1951
+ # Use WITH TIES when limiting the result set to also include additional
1952
+ # rules that have the same results for the order column as the final row.
1953
+ # Requires PostgreSQL 13.
1954
+ def with_ties
1955
+ clone(:limit_with_ties=>true)
1956
+ end
1957
+
1958
+ protected
1959
+
1960
+ # If returned primary keys are requested, use RETURNING unless already set on the
1961
+ # dataset. If RETURNING is already set, use existing returning values. If RETURNING
1962
+ # is only set to return a single columns, return an array of just that column.
1963
+ # Otherwise, return an array of hashes.
1964
+ def _import(columns, values, opts=OPTS)
1965
+ if @opts[:returning]
1966
+ statements = multi_insert_sql(columns, values)
1967
+ trans_opts = Hash[opts]
1968
+ trans_opts[:server] = @opts[:server]
1969
+ @db.transaction(trans_opts) do
1970
+ statements.map{|st| returning_fetch_rows(st)}
1971
+ end.first.map{|v| v.length == 1 ? v.values.first : v}
1972
+ elsif opts[:return] == :primary_key
1973
+ returning(insert_pk)._import(columns, values, opts)
1974
+ else
1975
+ super
1976
+ end
1977
+ end
1978
+
1979
+ def to_prepared_statement(type, *a)
1980
+ if type == :insert && !@opts.has_key?(:returning)
1981
+ returning(insert_pk).send(:to_prepared_statement, :insert_pk, *a)
1982
+ else
1983
+ super
1984
+ end
1985
+ end
1986
+
1987
+ private
1988
+
1989
+ # Append the INSERT sql used in a MERGE
1990
+ def _merge_insert_sql(sql, data)
1991
+ sql << " THEN INSERT "
1992
+ columns, values = _parse_insert_sql_args(data[:values])
1993
+ _insert_columns_sql(sql, columns)
1994
+ if override = data[:override]
1995
+ sql << override
1996
+ end
1997
+ _insert_values_sql(sql, values)
1998
+ end
1999
+
2000
+ def _merge_matched_sql(sql, data)
2001
+ sql << " THEN DO NOTHING"
2002
+ end
2003
+ alias _merge_not_matched_sql _merge_matched_sql
2004
+
2005
+ # Format TRUNCATE statement with PostgreSQL specific options.
2006
+ def _truncate_sql(table)
2007
+ to = @opts[:truncate_opts] || OPTS
2008
+ "TRUNCATE TABLE#{' ONLY' if to[:only]} #{table}#{' RESTART IDENTITY' if to[:restart]}#{' CASCADE' if to[:cascade]}"
2009
+ end
2010
+
2011
+ # Allow truncation of multiple source tables.
2012
+ def check_truncation_allowed!
2013
+ raise(InvalidOperation, "Grouped datasets cannot be truncated") if opts[:group]
2014
+ raise(InvalidOperation, "Joined datasets cannot be truncated") if opts[:join]
2015
+ end
2016
+
2017
+ # Only include the primary table in the main delete clause
2018
+ def delete_from_sql(sql)
2019
+ sql << ' FROM '
2020
+ source_list_append(sql, @opts[:from][0..0])
2021
+ end
2022
+
2023
+ # Use USING to specify additional tables in a delete query
2024
+ def delete_using_sql(sql)
2025
+ join_from_sql(:USING, sql)
2026
+ end
2027
+
2028
+ # Add ON CONFLICT clause if it should be used
2029
+ def insert_conflict_sql(sql)
2030
+ if opts = @opts[:insert_conflict]
2031
+ sql << " ON CONFLICT"
2032
+
2033
+ if target = opts[:constraint]
2034
+ sql << " ON CONSTRAINT "
2035
+ identifier_append(sql, target)
2036
+ elsif target = opts[:target]
2037
+ sql << ' '
2038
+ identifier_append(sql, Array(target))
2039
+ if conflict_where = opts[:conflict_where]
2040
+ sql << " WHERE "
2041
+ literal_append(sql, conflict_where)
2042
+ end
2043
+ end
2044
+
2045
+ if values = opts[:update]
2046
+ sql << " DO UPDATE SET "
2047
+ update_sql_values_hash(sql, values)
2048
+ if update_where = opts[:update_where]
2049
+ sql << " WHERE "
2050
+ literal_append(sql, update_where)
2051
+ end
2052
+ else
2053
+ sql << " DO NOTHING"
2054
+ end
2055
+ end
2056
+ end
2057
+
2058
+ # Include aliases when inserting into a single table on PostgreSQL 9.5+.
2059
+ def insert_into_sql(sql)
2060
+ sql << " INTO "
2061
+ if (f = @opts[:from]) && f.length == 1
2062
+ identifier_append(sql, server_version >= 90500 ? f.first : unaliased_identifier(f.first))
2063
+ else
2064
+ source_list_append(sql, f)
2065
+ end
2066
+ end
2067
+
2068
+ # Return the primary key to use for RETURNING in an INSERT statement
2069
+ def insert_pk
2070
+ if (f = opts[:from]) && !f.empty?
2071
+ case t = f.first
2072
+ when Symbol, String, SQL::Identifier, SQL::QualifiedIdentifier
2073
+ if pk = db.primary_key(t)
2074
+ Sequel::SQL::Identifier.new(pk)
2075
+ end
2076
+ end
2077
+ end
2078
+ end
2079
+
2080
+ # Support OVERRIDING SYSTEM|USER VALUE in insert statements
2081
+ def insert_override_sql(sql)
2082
+ case opts[:override]
2083
+ when :system
2084
+ sql << " OVERRIDING SYSTEM VALUE"
2085
+ when :user
2086
+ sql << " OVERRIDING USER VALUE"
2087
+ end
2088
+ end
2089
+
2090
+ # For multiple table support, PostgreSQL requires at least
2091
+ # two from tables, with joins allowed.
2092
+ def join_from_sql(type, sql)
2093
+ if(from = @opts[:from][1..-1]).empty?
2094
+ raise(Error, 'Need multiple FROM tables if updating/deleting a dataset with JOINs') if @opts[:join]
2095
+ else
2096
+ sql << ' ' << type.to_s << ' '
2097
+ source_list_append(sql, from)
2098
+ select_join_sql(sql)
2099
+ end
2100
+ end
2101
+
2102
+ # Support table aliases for USING columns
2103
+ def join_using_clause_using_sql_append(sql, using_columns)
2104
+ if using_columns.is_a?(SQL::AliasedExpression)
2105
+ super(sql, using_columns.expression)
2106
+ sql << ' AS '
2107
+ identifier_append(sql, using_columns.alias)
2108
+ else
2109
+ super
2110
+ end
2111
+ end
2112
+
2113
+ # Use a generic blob quoting method, hopefully overridden in one of the subadapter methods
2114
+ def literal_blob_append(sql, v)
2115
+ sql << "'" << v.gsub(/[\000-\037\047\134\177-\377]/n){|b| "\\#{("%o" % b[0..1].unpack("C")[0]).rjust(3, '0')}"} << "'"
2116
+ end
2117
+
2118
+ # PostgreSQL uses FALSE for false values
2119
+ def literal_false
2120
+ 'false'
2121
+ end
2122
+
2123
+ # PostgreSQL quotes NaN and Infinity.
2124
+ def literal_float(value)
2125
+ if value.finite?
2126
+ super
2127
+ elsif value.nan?
2128
+ "'NaN'"
2129
+ elsif value.infinite? == 1
2130
+ "'Infinity'"
2131
+ else
2132
+ "'-Infinity'"
2133
+ end
2134
+ end
2135
+
2136
+ # Assume that SQL standard quoting is on, per Sequel's defaults
2137
+ def literal_string_append(sql, v)
2138
+ sql << "'" << v.gsub("'", "''") << "'"
2139
+ end
2140
+
2141
+ # PostgreSQL uses true for true values
2142
+ def literal_true
2143
+ 'true'
2144
+ end
2145
+
2146
+ # PostgreSQL supports multiple rows in INSERT.
2147
+ def multi_insert_sql_strategy
2148
+ :values
2149
+ end
2150
+
2151
+ # Dataset options that do not affect the generated SQL.
2152
+ def non_sql_option?(key)
2153
+ super || key == :cursor || key == :insert_conflict
2154
+ end
2155
+
2156
+ # PostgreSQL requires parentheses around compound datasets if they use
2157
+ # CTEs, and using them in other places doesn't hurt.
2158
+ def compound_dataset_sql_append(sql, ds)
2159
+ sql << '('
2160
+ super
2161
+ sql << ')'
2162
+ end
2163
+
2164
+ # Backslash is supported by default as the escape character on PostgreSQL,
2165
+ # and using ESCAPE can break LIKE ANY() usage.
2166
+ def requires_like_escape?
2167
+ false
2168
+ end
2169
+
2170
+ # Support FETCH FIRST WITH TIES on PostgreSQL 13+.
2171
+ def select_limit_sql(sql)
2172
+ l = @opts[:limit]
2173
+ o = @opts[:offset]
2174
+
2175
+ return unless l || o
2176
+
2177
+ if @opts[:limit_with_ties]
2178
+ if o
2179
+ sql << " OFFSET "
2180
+ literal_append(sql, o)
2181
+ end
2182
+
2183
+ if l
2184
+ sql << " FETCH FIRST "
2185
+ literal_append(sql, l)
2186
+ sql << " ROWS WITH TIES"
2187
+ end
2188
+ else
2189
+ if l
2190
+ sql << " LIMIT "
2191
+ literal_append(sql, l)
2192
+ end
2193
+
2194
+ if o
2195
+ sql << " OFFSET "
2196
+ literal_append(sql, o)
2197
+ end
2198
+ end
2199
+ end
2200
+
2201
+ # Support FOR SHARE locking when using the :share lock style.
2202
+ # Use SKIP LOCKED if skipping locked rows.
2203
+ def select_lock_sql(sql)
2204
+ lock = @opts[:lock]
2205
+ if lock == :share
2206
+ sql << ' FOR SHARE'
2207
+ else
2208
+ super
2209
+ end
2210
+
2211
+ if lock
2212
+ if @opts[:skip_locked]
2213
+ sql << " SKIP LOCKED"
2214
+ elsif @opts[:nowait]
2215
+ sql << " NOWAIT"
2216
+ end
2217
+ end
2218
+ end
2219
+
2220
+ # Support VALUES clause instead of the SELECT clause to return rows.
2221
+ def select_values_sql(sql)
2222
+ sql << "VALUES "
2223
+ expression_list_append(sql, opts[:values])
2224
+ end
2225
+
2226
+ # Use WITH RECURSIVE instead of WITH if any of the CTEs is recursive
2227
+ def select_with_sql_base
2228
+ opts[:with].any?{|w| w[:recursive]} ? "WITH RECURSIVE " : super
2229
+ end
2230
+
2231
+ # Support PostgreSQL 14+ CTE SEARCH/CYCLE clauses
2232
+ def select_with_sql_cte(sql, cte)
2233
+ super
2234
+
2235
+ if search_opts = cte[:search]
2236
+ sql << if search_opts[:type] == :breadth
2237
+ " SEARCH BREADTH FIRST BY "
2238
+ else
2239
+ " SEARCH DEPTH FIRST BY "
2240
+ end
2241
+
2242
+ identifier_list_append(sql, Array(search_opts[:by]))
2243
+ sql << " SET "
2244
+ identifier_append(sql, search_opts[:set] || :ordercol)
2245
+ end
2246
+
2247
+ if cycle_opts = cte[:cycle]
2248
+ sql << " CYCLE "
2249
+ identifier_list_append(sql, Array(cycle_opts[:columns]))
2250
+ sql << " SET "
2251
+ identifier_append(sql, cycle_opts[:cycle_column] || :is_cycle)
2252
+ if cycle_opts.has_key?(:cycle_value)
2253
+ sql << " TO "
2254
+ literal_append(sql, cycle_opts[:cycle_value])
2255
+ sql << " DEFAULT "
2256
+ literal_append(sql, cycle_opts.fetch(:noncycle_value, false))
2257
+ end
2258
+ sql << " USING "
2259
+ identifier_append(sql, cycle_opts[:path_column] || :path)
2260
+ end
2261
+ end
2262
+
2263
+ # The version of the database server
2264
+ def server_version
2265
+ db.server_version(@opts[:server])
2266
+ end
2267
+
2268
+ # PostgreSQL 9.4+ supports the FILTER clause for aggregate functions.
2269
+ def supports_filtered_aggregates?
2270
+ server_version >= 90400
2271
+ end
2272
+
2273
+ # PostgreSQL supports quoted function names.
2274
+ def supports_quoted_function_names?
2275
+ true
2276
+ end
2277
+
2278
+ # Concatenate the expressions with a space in between
2279
+ def full_text_string_join(cols)
2280
+ cols = Array(cols).map{|x| SQL::Function.new(:COALESCE, x, '')}
2281
+ cols = cols.zip([' '] * cols.length).flatten
2282
+ cols.pop
2283
+ SQL::StringExpression.new(:'||', *cols)
2284
+ end
2285
+
2286
+ # Use FROM to specify additional tables in an update query
2287
+ def update_from_sql(sql)
2288
+ join_from_sql(:FROM, sql)
2289
+ end
2290
+
2291
+ # Only include the primary table in the main update clause
2292
+ def update_table_sql(sql)
2293
+ sql << ' '
2294
+ source_list_append(sql, @opts[:from][0..0])
2295
+ end
2296
+ end
2297
+ end
2298
+ end