tdiary 5.2.2 → 5.2.3

Sign up to get free protection for your applications and to get access to all the features.
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