tdiary 5.2.2 → 5.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ChangeLog +5 -1
- data/Gemfile.lock +18 -18
- data/README.md +0 -2
- data/lib/tdiary/version.rb +1 -1
- data/misc/paas/heroku/Gemfile.local +1 -1
- data/misc/paas/heroku/Gemfile.lock +34 -32
- 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
- data/vendor/bundle/ruby/3.1.0/cache/addressable-2.8.1.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/debug-1.6.2.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/faraday-2.5.2.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/faraday-net_http-3.0.0.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/nokogiri-1.13.8-x86_64-linux.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/octokit-5.3.0.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/public_suffix-5.0.0.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/rack-2.2.4.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/rack-test-2.0.2.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/sawyer-0.9.2.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/selenium-webdriver-4.4.0.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/sequel-5.59.0.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/sqlite3-1.4.4.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/debug-1.6.2/debug/debug.so +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/debug-1.6.2/gem_make.out +16 -0
- data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/json-2.6.2/gem_make.out +1 -1
- data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/redcarpet-3.5.1/gem_make.out +2 -2
- 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
- data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/sqlite3-1.4.4/gem_make.out +90 -0
- 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
- data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/sqlite3-1.4.4/sqlite3/sqlite3_native.so +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/CHANGELOG.md +262 -0
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/Gemfile +30 -0
- data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/LICENSE.txt +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/README.md +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/Rakefile +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/data/unicode.data +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/lib/addressable/idna/native.rb +60 -0
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/lib/addressable/idna/pure.rb +677 -0
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/lib/addressable/idna.rb +26 -0
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/lib/addressable/template.rb +1030 -0
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/lib/addressable/uri.rb +2560 -0
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/lib/addressable/version.rb +31 -0
- data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/lib/addressable.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/spec/addressable/idna_spec.rb +301 -0
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/spec/addressable/net_http_compat_spec.rb +29 -0
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/spec/addressable/security_spec.rb +58 -0
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/spec/addressable/template_spec.rb +1468 -0
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/spec/addressable/uri_spec.rb +6745 -0
- data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/spec/spec_helper.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/tasks/clobber.rake +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.1/tasks/gem.rake +95 -0
- data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/tasks/git.rake +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/tasks/metrics.rake +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/tasks/profile.rake +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/tasks/rspec.rake +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{addressable-2.8.0 → addressable-2.8.1}/tasks/yard.rake +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/CONTRIBUTING.md +561 -0
- data/vendor/bundle/ruby/3.1.0/gems/{debug-1.5.0 → debug-1.6.2}/Gemfile +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{debug-1.5.0 → debug-1.6.2}/LICENSE.txt +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/README.md +913 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/Rakefile +52 -0
- data/vendor/bundle/ruby/3.1.0/gems/{debug-1.5.0 → debug-1.6.2}/TODO.md +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/debug.gemspec +32 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/exe/rdbg +38 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/ext/debug/Makefile +267 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/ext/debug/debug.c +200 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/ext/debug/debug.o +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/ext/debug/debug.so +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/ext/debug/debug_version.h +1 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/ext/debug/extconf.rb +26 -0
- data/vendor/bundle/ruby/3.1.0/gems/{debug-1.5.0 → debug-1.6.2}/ext/debug/iseq_collector.c +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/ext/debug/iseq_collector.o +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/breakpoint.rb +552 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/client.rb +245 -0
- data/vendor/bundle/ruby/3.1.0/gems/{debug-1.5.0 → debug-1.6.2}/lib/debug/color.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/config.rb +524 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/console.rb +234 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/debug.so +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/frame_info.rb +179 -0
- data/vendor/bundle/ruby/3.1.0/gems/{debug-1.5.0 → debug-1.6.2}/lib/debug/local.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{debug-1.5.0 → debug-1.6.2}/lib/debug/open.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{debug-1.5.0 → debug-1.6.2}/lib/debug/open_nonstop.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/prelude.rb +50 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/server.rb +520 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/server_cdp.rb +1144 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/server_dap.rb +975 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/session.rb +2422 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/source_repository.rb +130 -0
- data/vendor/bundle/ruby/3.1.0/gems/{debug-1.5.0 → debug-1.6.2}/lib/debug/start.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/thread_client.rb +1299 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/tracer.rb +242 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug/version.rb +5 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/lib/debug.rb +5 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.6.2/misc/README.md.erb +604 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/CHANGELOG.md +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/LICENSE.md +20 -0
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/README.md +55 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/Rakefile +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/examples/client_spec.rb +119 -0
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/examples/client_test.rb +144 -0
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/lib/faraday/adapter/test.rb +298 -0
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/lib/faraday/adapter.rb +102 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/adapter_registry.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/lib/faraday/connection.rb +561 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/error.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/logging/formatter.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/methods.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/middleware.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/middleware_registry.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/options/connection_options.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/lib/faraday/options/env.rb +199 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/options/proxy_options.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/options/request_options.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/lib/faraday/options/ssl_options.rb +69 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/options.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/parameters.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/rack_builder.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/request/authorization.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/request/instrumentation.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/request/json.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/request/url_encoded.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/request.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/response/json.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/response/logger.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/response/raise_error.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/response.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/utils/headers.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/utils/params_hash.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday/utils.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/lib/faraday/version.rb +5 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/lib/faraday.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/spec/faraday/adapter/test_spec.rb +413 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/adapter_registry_spec.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/adapter_spec.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/spec/faraday/connection_spec.rb +793 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/error_spec.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/middleware_registry_spec.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/middleware_spec.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/spec/faraday/options/env_spec.rb +76 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/options/options_spec.rb +0 -0
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/rack_builder_spec.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/request/authorization_spec.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/request/instrumentation_spec.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/request/json_spec.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/spec/faraday/request_spec.rb +110 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/response/json_spec.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/response/logger_spec.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/response_spec.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday/utils/headers_spec.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/spec/faraday/utils_spec.rb +118 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/faraday_spec.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/spec_helper.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/support/disabling_stub.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/support/fake_safe_buffer.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/support/helper_methods.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/spec/support/shared_examples/adapter.rb +105 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.5.2/spec/support/shared_examples/request_method.rb +263 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-2.3.0 → faraday-2.5.2}/spec/support/streaming_response_checker.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-net_http-2.0.3 → faraday-net_http-3.0.0}/LICENSE.md +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{faraday-net_http-2.0.3 → faraday-net_http-3.0.0}/README.md +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/faraday-net_http-3.0.0/lib/faraday/adapter/net_http.rb +208 -0
- data/vendor/bundle/ruby/3.1.0/gems/faraday-net_http-3.0.0/lib/faraday/net_http/version.rb +7 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/json-2.6.2/ext/json/Makefile +2 -2
- data/vendor/bundle/ruby/3.1.0/gems/json-2.6.2/ext/json/ext/generator/Makefile +2 -2
- data/vendor/bundle/ruby/3.1.0/gems/json-2.6.2/ext/json/ext/parser/Makefile +2 -2
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/extconf.rb +1010 -0
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/gumbo.c +584 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/include/libxslt/xsltconfig.h +180 -0
- 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
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/nokogiri.h +231 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_attr.c +103 -0
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_attribute_decl.c +70 -0
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_cdata.c +57 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_document.c +680 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_dtd.c +208 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_element_decl.c +69 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_entity_decl.c +112 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_node.c +2165 -0
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_node_set.c +498 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_reader.c +770 -0
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_schema.c +284 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_text.c +48 -0
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/ext/nokogiri/xml_xpath_context.c +406 -0
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/lib/nokogiri/2.6/nokogiri.so +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/lib/nokogiri/2.7/nokogiri.so +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/lib/nokogiri/3.0/nokogiri.so +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/lib/nokogiri/3.1/nokogiri.so +0 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/lib/nokogiri/version/constant.rb +6 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.8-x86_64-linux/lib/nokogiri/xml/reader.rb +105 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{octokit-4.23.0 → octokit-5.3.0}/CONTRIBUTING.md +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{octokit-4.23.0 → octokit-5.3.0}/LICENSE.md +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/README.md +821 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/Rakefile +24 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/ext/sawyer/relation.rb +12 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/arguments.rb +14 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/authentication.rb +80 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/actions_secrets.rb +57 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/actions_workflow_jobs.rb +61 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/actions_workflow_runs.rb +121 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/actions_workflows.rb +66 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/apps.rb +222 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/authorizations.rb +185 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/checks.rb +200 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/commit_branches.rb +20 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/commit_comments.rb +95 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/commit_pulls.rb +20 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/commits.rb +236 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/community_profile.rb +21 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/contents.rb +167 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/deployments.rb +82 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/downloads.rb +49 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/emojis.rb +18 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/events.rb +151 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/feeds.rb +32 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/gists.rb +234 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/gitignore.rb +43 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/hooks.rb +297 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/issues.rb +367 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/labels.rb +156 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/legacy_search.rb +42 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/licenses.rb +42 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/markdown.rb +27 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/marketplace.rb +56 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/meta.rb +20 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/milestones.rb +87 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/notifications.rb +167 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/oauth_applications.rb +116 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/objects.rb +141 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/organizations.rb +807 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/pages.rb +61 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/projects.rb +294 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/pub_sub_hubbub.rb +111 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/pull_requests.rb +313 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/rate_limit.rb +52 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/reactions.rb +153 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/refs.rb +133 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/releases.rb +164 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/repositories.rb +779 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/repository_invitations.rb +96 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/reviews.rb +227 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/say.rb +18 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/search.rb +104 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/service_status.rb +48 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/source_import.rb +156 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/stats.rb +108 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/statuses.rb +47 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/traffic.rb +64 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client/users.rb +435 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/client.rb +268 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/configurable.rb +155 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/connection.rb +210 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/default.rb +187 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/enterprise_admin_client/admin_stats.rb +119 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/enterprise_admin_client/license.rb +17 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/enterprise_admin_client/orgs.rb +26 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/enterprise_admin_client/search_indexing.rb +82 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/enterprise_admin_client/users.rb +129 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/enterprise_admin_client.rb +46 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/enterprise_management_console_client/management_console.rb +176 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/enterprise_management_console_client.rb +56 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/error.rb +363 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/gist.rb +35 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/middleware/follow_redirects.rb +135 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/organization.rb +19 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/rate_limit.rb +33 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/repo_arguments.rb +18 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/repository.rb +95 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/response/base_middleware.rb +10 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/response/feed_parser.rb +17 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/response/raise_error.rb +19 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/user.rb +21 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/version.rb +19 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit/warnable.rb +16 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/lib/octokit.rb +66 -0
- data/vendor/bundle/ruby/3.1.0/gems/octokit-5.3.0/octokit.gemspec +25 -0
- data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/2.0-Upgrade.md +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/CHANGELOG.md +426 -0
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/Gemfile +14 -0
- data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/LICENSE.txt +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/README.md +217 -0
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/Rakefile +52 -0
- data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/SECURITY.md +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/bin/console +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/data/list.txt +14066 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/lib/public_suffix/list.rb +247 -0
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/lib/public_suffix/rule.rb +350 -0
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/lib/public_suffix/version.rb +15 -0
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/lib/public_suffix.rb +177 -0
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/public_suffix.gemspec +29 -0
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/test/acceptance_test.rb +131 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/test/psl_test.rb +52 -0
- data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/test/test_helper.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{public_suffix-4.0.7 → public_suffix-5.0.0}/test/tests.txt +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/test/unit/domain_test.rb +106 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/test/unit/list_test.rb +241 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-5.0.0/test/unit/rule_test.rb +222 -0
- data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.4/CHANGELOG.md +708 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/CONTRIBUTING.md +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/MIT-LICENSE +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/README.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/Rakefile +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/SPEC.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/bin/rackup +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/contrib/rack.png +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/contrib/rack.svg +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/contrib/rack_logo.svg +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/contrib/rdoc.css +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/example/lobster.ru +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/example/protectedlobster.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/example/protectedlobster.ru +0 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/auth/basic.rb +0 -0
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/body_proxy.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/builder.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/cascade.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/chunked.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/common_logger.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/conditional_get.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/config.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/content_length.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/content_type.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/deflater.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/directory.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.4/lib/rack/etag.rb +77 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/events.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/file.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/files.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/handler/cgi.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/handler/fastcgi.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/handler/lsws.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/handler/scgi.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/handler/thin.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/handler/webrick.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/handler.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/head.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.4/lib/rack/lint.rb +806 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/lobster.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/lock.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/logger.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/media_type.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/method_override.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/mime.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/mock.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/multipart/generator.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/multipart/parser.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/multipart.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/null_logger.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.4/lib/rack/query_parser.rb +221 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/recursive.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/reloader.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/request.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/response.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/rewindable_input.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/runtime.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/sendfile.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/server.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/session/cookie.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/session/memcache.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/session/pool.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/show_exceptions.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/show_status.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/static.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/tempfile_reaper.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack/urlmap.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.4/lib/rack/utils.rb +616 -0
- data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.4/lib/rack/version.rb +29 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/lib/rack.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{rack-2.2.3.1 → rack-2.2.4}/rack.gemspec +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/History.md +349 -0
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/MIT-LICENSE.txt +20 -0
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/README.md +139 -0
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/lib/rack/mock_session.rb +2 -0
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/lib/rack/test/cookie_jar.rb +246 -0
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/lib/rack/test/methods.rb +95 -0
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/lib/rack/test/mock_digest_request.rb +35 -0
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/lib/rack/test/uploaded_file.rb +109 -0
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/lib/rack/test/utils.rb +156 -0
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/lib/rack/test/version.rb +5 -0
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-2.0.2/lib/rack/test.rb +414 -0
- data/vendor/bundle/ruby/3.1.0/gems/redcarpet-3.5.1/ext/redcarpet/Makefile +2 -2
- data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/Gemfile +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/LICENSE.md +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/README.md +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/Rakefile +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/lib/sawyer/agent.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/lib/sawyer/link_parsers/hal.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/lib/sawyer/link_parsers/simple.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/lib/sawyer/relation.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sawyer-0.9.2/lib/sawyer/resource.rb +160 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/lib/sawyer/response.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/lib/sawyer/serializer.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sawyer-0.9.2/lib/sawyer.rb +17 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/sawyer.gemspec +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/script/bootstrap +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/script/console +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/script/package +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/script/release +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sawyer-0.9.1 → sawyer-0.9.2}/script/test +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/CHANGES +2089 -0
- data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/Gemfile +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/LICENSE +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/NOTICE +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/README.md +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/server.rb +283 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/chrome/options.rb +275 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/chrome.rb +41 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/driver.rb +364 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/interactions/pointer_actions.rb +352 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/interactions/wheel_actions.rb +113 -0
- 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
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/manager.rb +150 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/options.rb +177 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/takes_screenshot.rb +66 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/virtual_authenticator/credential.rb +83 -0
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator.rb +73 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/websocket_connection.rb +156 -0
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/window.rb +159 -0
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common/zipper.rb +91 -0
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/common.rb +97 -0
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/devtools/network_interceptor.rb +176 -0
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/devtools.rb +87 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/firefox.rb +55 -0
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/ie.rb +28 -0
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/remote/bridge.rb +705 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/remote/commands.rb +172 -0
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/remote/driver.rb +60 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/safari.rb +59 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/lib/selenium/webdriver/version.rb +24 -0
- data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium/webdriver.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{selenium-webdriver-4.2.0 → selenium-webdriver-4.4.0}/lib/selenium-webdriver.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.4.0/selenium-webdriver.gemspec +66 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/CHANGELOG +1069 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/MIT-LICENSE +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/README.rdoc +933 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/bin/sequel +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/advanced_associations.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/association_basics.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/bin_sequel.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/doc/cheat_sheet.rdoc +255 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/code_order.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/core_extensions.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/dataset_basics.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/dataset_filtering.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/extensions.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/fork_safety.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/mass_assignment.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/migration.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/model_dataset_method_design.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/model_hooks.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/model_plugins.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/mssql_stored_procedures.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/object_model.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/doc/opening_databases.rdoc +425 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/postgresql.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/prepared_statements.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/querying.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/reflection.rdoc +0 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/doc/release_notes/5.57.0.txt +23 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/doc/release_notes/5.58.0.txt +31 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/doc/release_notes/5.59.0.txt +73 -0
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/schema_modification.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/security.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/sharding.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/sql.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/doc/testing.rdoc +186 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/thread_safety.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/transactions.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/validations.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/doc/virtual_rows.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/ado/access.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/ado/mssql.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/ado.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/amalgalite.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/ibmdb.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/db2.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/adapters/jdbc/derby.rb +318 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/adapters/jdbc/h2.rb +287 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/adapters/jdbc/hsqldb.rb +226 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/jtds.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/mssql.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/mysql.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/oracle.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/postgresql.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/sqlanywhere.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/sqlite.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/sqlserver.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc/transactions.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/jdbc.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/mock.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/mysql.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/mysql2.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/odbc/db2.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/odbc/mssql.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/odbc/oracle.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/odbc.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/oracle.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/adapters/postgres.rb +822 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/postgresql.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/shared/access.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/adapters/shared/db2.rb +492 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/adapters/shared/mssql.rb +1163 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/adapters/shared/mysql.rb +1092 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/adapters/shared/oracle.rb +721 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/adapters/shared/postgres.rb +2298 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/shared/sqlanywhere.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/shared/sqlite.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/sqlanywhere.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/sqlite.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/tinytds.rb +0 -0
- 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
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/adapters/utils/replace.rb +0 -0
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/ast_transformer.rb +0 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/connection_pool/single.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/connection_pool/threaded.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/connection_pool.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/core.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/database/connecting.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/database/dataset.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/database/dataset_defaults.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/database/features.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/database/logging.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/database/misc.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/database/query.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/database/schema_generator.rb +650 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/database/schema_methods.rb +1081 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/database/transactions.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/database.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/dataset/actions.rb +1293 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/dataset/dataset_module.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/dataset/features.rb +270 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/dataset/graph.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/dataset/misc.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/dataset/placeholder_literalizer.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/dataset/prepared_statements.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/dataset/query.rb +1485 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/dataset/sql.rb +1811 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/dataset.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/deprecated.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/exceptions.rb +0 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/_pretty_table.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/arbitrary_servers.rb +0 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/blank.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/caller_logging.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/columns_introspection.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/connection_expiration.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/connection_validator.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/constraint_validations.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/core_extensions.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/core_refinements.rb +0 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/date_arithmetic.rb +0 -0
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/error_sql.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/escaped_like.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/eval_inspect.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/fiber_concurrency.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/freeze_datasets.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/from_block.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/graph_each.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/identifier_mangling.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/implicit_subquery.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/index_caching.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/inflector.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/integer64.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/extensions/is_distinct_from.rb +139 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/looser_typecasting.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/migration.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/named_timezones.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/null_dataset.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pagination.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_array.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_enum.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/extensions/pg_hstore.rb +348 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_inet.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_interval.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_json.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/extensions/pg_json_ops.rb +804 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_multirange.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_range.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_row.rb +0 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pg_timestamptz.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/pretty_table.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/query.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/round_timestamps.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/s.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/schema_caching.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/schema_dumper.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/select_remove.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/server_block.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/server_logging.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/sql_comments.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/sql_expr.rb +0 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/string_agg.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/symbol_aref.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/symbol_as.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/synchronize_sql.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/extensions/to_dot.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/model/associations.rb +4014 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/model/base.rb +2270 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/model/dataset_module.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/model/default_inflections.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/model/errors.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/model/exceptions.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/model/inflections.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/model/plugins.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/model.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/accessed_columns.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/active_model.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/after_initialize.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/association_dependencies.rb +0 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/association_pks.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/association_proxies.rb +0 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/auto_validations.rb +0 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/blacklist_security.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/boolean_readers.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/boolean_subsets.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/caching.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/column_conflicts.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/column_encryption.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/column_select.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/columns_updated.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/composition.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/constraint_validations.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/csv_serializer.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/dataset_associations.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/defaults_setter.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/dirty.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/eager_each.rb +0 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/enum.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/error_splitter.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/finder.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/force_encoding.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/input_transformer.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/plugins/insert_conflict.rb +76 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/instance_filters.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/instance_hooks.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/inverted_subsets.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/json_serializer.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/lazy_attributes.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/plugins/list.rb +205 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/modification_detection.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/nested_attributes.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/optimistic_locking.rb +0 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/pg_row.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/prepared_statements.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/rcte_tree.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/plugins/require_valid_schema.rb +67 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/serialization.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/sharding.rb +0 -0
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/split_values.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/sql_comments.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/static_cache.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/string_stripper.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/subclasses.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/subset_conditions.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/table_select.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/plugins/tactical_eager_loading.rb +212 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/throw_failures.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/timestamps.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/touch.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/tree.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/unlimited_update.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/unused_associations.rb +0 -0
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/update_refresh.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/uuid.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/validate_associated.rb +0 -0
- 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
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/validation_contexts.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/validation_helpers.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/whitelist_security.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/plugins/xml_serializer.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/sql.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel/timezones.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.59.0/lib/sequel/version.rb +25 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sequel-5.56.0 → sequel-5.59.0}/lib/sequel.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/API_CHANGES.rdoc +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/CHANGELOG.rdoc +333 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ChangeLog.cvs +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/Gemfile +20 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/LICENSE +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/Manifest.txt +59 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/README.rdoc +118 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/Rakefile +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/appveyor.yml +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/Makefile +267 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/aggregator.c +273 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/aggregator.h +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/aggregator.o +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/backup.c +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/backup.h +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/backup.o +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/database.c +854 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/database.h +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/database.o +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/exception.c +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/exception.h +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/exception.o +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/extconf.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/sqlite3.c +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/sqlite3.o +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/sqlite3_native.so +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/sqlite3_ruby.h +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/statement.c +442 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/ext/sqlite3/statement.h +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/ext/sqlite3/statement.o +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/faq/faq.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/faq/faq.yml +426 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/lib/sqlite3/constants.rb +50 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/lib/sqlite3/database.rb +741 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/lib/sqlite3/errors.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/lib/sqlite3/pragmas.rb +595 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/lib/sqlite3/resultset.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/lib/sqlite3/sqlite3_native.so +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/lib/sqlite3/statement.rb +145 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/lib/sqlite3/translator.rb +118 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/lib/sqlite3/value.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/lib/sqlite3/version.rb +25 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/lib/sqlite3.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/rakelib/faq.rake +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/rakelib/gem.rake +40 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/rakelib/native.rake +59 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/rakelib/vendor_sqlite3.rake +108 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/setup.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/test/helper.rb +25 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_backup.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_collation.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/test/test_database.rb +531 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_database_flags.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_database_readonly.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_database_readwrite.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_deprecated.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_encoding.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_integration.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_integration_aggregate.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_integration_open_close.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_integration_pending.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_integration_resultset.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_integration_statement.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_result_set.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_sqlite3.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.4/test/test_statement.rb +263 -0
- data/vendor/bundle/ruby/3.1.0/gems/{sqlite3-1.4.2 → sqlite3-1.4.4}/test/test_statement_execute.rb +0 -0
- data/vendor/bundle/ruby/3.1.0/specifications/addressable-2.8.1.gemspec +37 -0
- data/vendor/bundle/ruby/3.1.0/specifications/debug-1.6.2.gemspec +39 -0
- data/vendor/bundle/ruby/3.1.0/specifications/faraday-2.5.2.gemspec +0 -0
- data/vendor/bundle/ruby/3.1.0/specifications/faraday-net_http-3.0.0.gemspec +32 -0
- data/vendor/bundle/ruby/3.1.0/specifications/nokogiri-1.13.8-x86_64-linux.gemspec +69 -0
- data/vendor/bundle/ruby/3.1.0/specifications/octokit-5.3.0.gemspec +36 -0
- data/vendor/bundle/ruby/3.1.0/specifications/public_suffix-5.0.0.gemspec +24 -0
- data/vendor/bundle/ruby/3.1.0/specifications/rack-2.2.4.gemspec +41 -0
- data/vendor/bundle/ruby/3.1.0/specifications/rack-test-2.0.2.gemspec +38 -0
- data/vendor/bundle/ruby/3.1.0/specifications/sawyer-0.9.2.gemspec +31 -0
- data/vendor/bundle/ruby/3.1.0/specifications/selenium-webdriver-4.4.0.gemspec +62 -0
- data/vendor/bundle/ruby/3.1.0/specifications/sequel-5.59.0.gemspec +46 -0
- data/vendor/bundle/ruby/3.1.0/specifications/sqlite3-1.4.4.gemspec +51 -0
- metadata +1202 -1198
- data/vendor/bundle/ruby/3.1.0/cache/addressable-2.8.0.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/debug-1.5.0.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/faraday-2.3.0.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/faraday-net_http-2.0.3.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/nokogiri-1.13.6-x86_64-linux.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/octokit-4.23.0.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/public_suffix-4.0.7.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/rack-2.2.3.1.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/rack-test-1.1.0.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/sawyer-0.9.1.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/selenium-webdriver-4.2.0.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/sequel-5.56.0.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/cache/sqlite3-1.4.2.gem +0 -0
- data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/debug-1.5.0/debug/debug.so +0 -0
- data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/debug-1.5.0/gem_make.out +0 -19
- data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/debug-1.5.0/mkmf.log +0 -86
- data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/sqlite3-1.4.2/gem_make.out +0 -84
- data/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/sqlite3-1.4.2/sqlite3/sqlite3_native.so +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/CHANGELOG.md +0 -246
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/Gemfile +0 -28
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/addressable.gemspec +0 -37
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/lib/addressable/idna/native.rb +0 -61
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/lib/addressable/idna/pure.rb +0 -678
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/lib/addressable/idna.rb +0 -27
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/lib/addressable/template.rb +0 -1031
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/lib/addressable/uri.rb +0 -2556
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/lib/addressable/version.rb +0 -32
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/spec/addressable/idna_spec.rb +0 -302
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/spec/addressable/net_http_compat_spec.rb +0 -30
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/spec/addressable/security_spec.rb +0 -59
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/spec/addressable/template_spec.rb +0 -1460
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/spec/addressable/uri_spec.rb +0 -6665
- data/vendor/bundle/ruby/3.1.0/gems/addressable-2.8.0/tasks/gem.rake +0 -92
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/CONTRIBUTING.md +0 -493
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/README.md +0 -890
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/Rakefile +0 -34
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/debug.gemspec +0 -32
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/exe/rdbg +0 -34
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/ext/debug/Makefile +0 -267
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/ext/debug/debug.c +0 -222
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/ext/debug/debug.o +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/ext/debug/debug.so +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/ext/debug/debug_version.h +0 -1
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/ext/debug/extconf.rb +0 -15
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/ext/debug/iseq_collector.o +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/bp.vim +0 -68
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/breakpoint.rb +0 -517
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/client.rb +0 -235
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/config.rb +0 -493
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/console.rb +0 -228
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/debug.so +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/frame_info.rb +0 -172
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/prelude.rb +0 -49
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/server.rb +0 -493
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/server_cdp.rb +0 -1144
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/server_dap.rb +0 -869
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/session.rb +0 -2312
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/source_repository.rb +0 -117
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/thread_client.rb +0 -1202
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/tracer.rb +0 -241
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug/version.rb +0 -5
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/lib/debug.rb +0 -4
- data/vendor/bundle/ruby/3.1.0/gems/debug-1.5.0/misc/README.md.erb +0 -584
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/LICENSE.md +0 -20
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/README.md +0 -55
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/examples/client_spec.rb +0 -97
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/examples/client_test.rb +0 -118
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/lib/faraday/adapter/test.rb +0 -268
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/lib/faraday/adapter.rb +0 -102
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/lib/faraday/connection.rb +0 -561
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/lib/faraday/options/env.rb +0 -181
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/lib/faraday/options/ssl_options.rb +0 -59
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/lib/faraday/version.rb +0 -5
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/spec/faraday/adapter/test_spec.rb +0 -377
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/spec/faraday/connection_spec.rb +0 -787
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/spec/faraday/options/env_spec.rb +0 -70
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/spec/faraday/request_spec.rb +0 -109
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/spec/faraday/utils_spec.rb +0 -117
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/spec/support/shared_examples/adapter.rb +0 -104
- data/vendor/bundle/ruby/3.1.0/gems/faraday-2.3.0/spec/support/shared_examples/request_method.rb +0 -249
- data/vendor/bundle/ruby/3.1.0/gems/faraday-net_http-2.0.3/lib/faraday/adapter/net_http.rb +0 -224
- data/vendor/bundle/ruby/3.1.0/gems/faraday-net_http-2.0.3/lib/faraday/net_http/version.rb +0 -7
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/extconf.rb +0 -1008
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/gumbo.c +0 -584
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/include/libxslt/xsltconfig.h +0 -180
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/nokogiri.h +0 -223
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_attr.c +0 -103
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_attribute_decl.c +0 -70
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_cdata.c +0 -57
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_document.c +0 -680
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_dtd.c +0 -208
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_element_decl.c +0 -69
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_entity_decl.c +0 -112
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_node.c +0 -2144
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_node_set.c +0 -498
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_reader.c +0 -719
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_schema.c +0 -284
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_text.c +0 -48
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/ext/nokogiri/xml_xpath_context.c +0 -406
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/lib/nokogiri/2.6/nokogiri.so +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/lib/nokogiri/2.7/nokogiri.so +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/lib/nokogiri/3.0/nokogiri.so +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/lib/nokogiri/3.1/nokogiri.so +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/lib/nokogiri/version/constant.rb +0 -6
- data/vendor/bundle/ruby/3.1.0/gems/nokogiri-1.13.6-x86_64-linux/lib/nokogiri/xml/reader.rb +0 -107
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/README.md +0 -820
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/Rakefile +0 -22
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/ext/sawyer/relation.rb +0 -10
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/arguments.rb +0 -14
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/authentication.rb +0 -81
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/actions_secrets.rb +0 -58
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/actions_workflow_runs.rb +0 -105
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/actions_workflows.rb +0 -43
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/apps.rb +0 -222
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/authorizations.rb +0 -182
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/checks.rb +0 -200
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/commit_branches.rb +0 -20
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/commit_comments.rb +0 -95
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/commit_pulls.rb +0 -20
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/commits.rb +0 -244
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/community_profile.rb +0 -22
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/contents.rb +0 -168
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/deployments.rb +0 -82
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/downloads.rb +0 -50
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/emojis.rb +0 -18
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/events.rb +0 -152
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/feeds.rb +0 -33
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/gists.rb +0 -234
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/gitignore.rb +0 -43
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/hooks.rb +0 -297
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/issues.rb +0 -368
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/labels.rb +0 -156
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/legacy_search.rb +0 -42
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/licenses.rb +0 -45
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/markdown.rb +0 -27
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/marketplace.rb +0 -56
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/meta.rb +0 -21
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/milestones.rb +0 -87
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/notifications.rb +0 -167
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/oauth_applications.rb +0 -122
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/objects.rb +0 -141
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/organizations.rb +0 -820
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/pages.rb +0 -63
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/projects.rb +0 -314
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/pub_sub_hubbub.rb +0 -111
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/pull_requests.rb +0 -303
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/rate_limit.rb +0 -54
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/reactions.rb +0 -158
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/refs.rb +0 -134
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/releases.rb +0 -164
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/repositories.rb +0 -799
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/repository_invitations.rb +0 -96
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/reviews.rb +0 -227
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/say.rb +0 -19
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/search.rb +0 -91
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/service_status.rb +0 -48
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/source_import.rb +0 -161
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/stats.rb +0 -107
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/statuses.rb +0 -47
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/traffic.rb +0 -69
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client/users.rb +0 -441
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/client.rb +0 -253
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/configurable.rb +0 -151
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/connection.rb +0 -211
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/default.rb +0 -186
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/enterprise_admin_client/admin_stats.rb +0 -120
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/enterprise_admin_client/license.rb +0 -18
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/enterprise_admin_client/orgs.rb +0 -27
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/enterprise_admin_client/search_indexing.rb +0 -83
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/enterprise_admin_client/users.rb +0 -128
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/enterprise_admin_client.rb +0 -40
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/enterprise_management_console_client/management_console.rb +0 -176
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/enterprise_management_console_client.rb +0 -50
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/error.rb +0 -354
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/gist.rb +0 -36
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/middleware/follow_redirects.rb +0 -134
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/organization.rb +0 -17
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/preview.rb +0 -46
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/rate_limit.rb +0 -33
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/repo_arguments.rb +0 -19
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/repository.rb +0 -95
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/response/base_middleware.rb +0 -8
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/response/feed_parser.rb +0 -19
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/response/raise_error.rb +0 -19
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/user.rb +0 -19
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/version.rb +0 -17
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit/warnable.rb +0 -19
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/lib/octokit.rb +0 -60
- data/vendor/bundle/ruby/3.1.0/gems/octokit-4.23.0/octokit.gemspec +0 -23
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/CHANGELOG.md +0 -417
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/Gemfile +0 -14
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/README.md +0 -217
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/Rakefile +0 -52
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/data/list.txt +0 -14035
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/lib/public_suffix/list.rb +0 -247
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/lib/public_suffix/rule.rb +0 -350
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/lib/public_suffix/version.rb +0 -15
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/lib/public_suffix.rb +0 -177
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/public_suffix.gemspec +0 -29
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/test/acceptance_test.rb +0 -131
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/test/psl_test.rb +0 -52
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/test/unit/domain_test.rb +0 -106
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/test/unit/list_test.rb +0 -241
- data/vendor/bundle/ruby/3.1.0/gems/public_suffix-4.0.7/test/unit/rule_test.rb +0 -222
- data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3.1/CHANGELOG.md +0 -699
- data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3.1/lib/rack/etag.rb +0 -75
- data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3.1/lib/rack/lint.rb +0 -806
- data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3.1/lib/rack/query_parser.rb +0 -217
- data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3.1/lib/rack/utils.rb +0 -613
- data/vendor/bundle/ruby/3.1.0/gems/rack-2.2.3.1/lib/rack/version.rb +0 -29
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/History.md +0 -256
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/MIT-LICENSE.txt +0 -19
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/README.md +0 -150
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/lib/rack/mock_session.rb +0 -63
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/lib/rack/test/cookie_jar.rb +0 -194
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/lib/rack/test/methods.rb +0 -83
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/lib/rack/test/mock_digest_request.rb +0 -25
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/lib/rack/test/uploaded_file.rb +0 -85
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/lib/rack/test/utils.rb +0 -144
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/lib/rack/test/version.rb +0 -5
- data/vendor/bundle/ruby/3.1.0/gems/rack-test-1.1.0/lib/rack/test.rb +0 -334
- data/vendor/bundle/ruby/3.1.0/gems/sawyer-0.9.1/lib/sawyer/resource.rb +0 -155
- data/vendor/bundle/ruby/3.1.0/gems/sawyer-0.9.1/lib/sawyer.rb +0 -17
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/CHANGES +0 -2050
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/server.rb +0 -283
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/chrome/options.rb +0 -261
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/chrome.rb +0 -55
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/driver.rb +0 -397
- 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
- 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
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/interactions/pointer_actions.rb +0 -369
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/interactions/wheel_actions.rb +0 -113
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/manager.rb +0 -177
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/options.rb +0 -184
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/takes_screenshot.rb +0 -66
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/websocket_connection.rb +0 -149
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/window.rb +0 -159
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common/zipper.rb +0 -91
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/common.rb +0 -95
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/devtools.rb +0 -86
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/firefox.rb +0 -69
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/ie.rb +0 -42
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/remote/bridge.rb +0 -672
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/remote/commands.rb +0 -158
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/remote/driver.rb +0 -61
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/remote/http/persistent.rb +0 -65
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/safari.rb +0 -73
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/lib/selenium/webdriver/version.rb +0 -24
- data/vendor/bundle/ruby/3.1.0/gems/selenium-webdriver-4.2.0/selenium-webdriver.gemspec +0 -66
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/CHANGELOG +0 -1037
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/README.rdoc +0 -908
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/doc/cheat_sheet.rdoc +0 -247
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/doc/opening_databases.rdoc +0 -421
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/doc/testing.rdoc +0 -186
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/adapters/jdbc/derby.rb +0 -313
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/adapters/jdbc/h2.rb +0 -282
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/adapters/jdbc/hsqldb.rb +0 -220
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/adapters/postgres.rb +0 -816
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/adapters/shared/db2.rb +0 -464
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/adapters/shared/mssql.rb +0 -1129
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/adapters/shared/mysql.rb +0 -1080
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/adapters/shared/oracle.rb +0 -652
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/adapters/shared/postgres.rb +0 -2232
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/database/schema_generator.rb +0 -646
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/database/schema_methods.rb +0 -1078
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/dataset/actions.rb +0 -1244
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/dataset/features.rb +0 -265
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/dataset/query.rb +0 -1423
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/dataset/sql.rb +0 -1724
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/extensions/pg_hstore.rb +0 -348
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/extensions/pg_json_ops.rb +0 -752
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/model/associations.rb +0 -4002
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/model/base.rb +0 -2260
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/plugins/insert_conflict.rb +0 -72
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/plugins/list.rb +0 -203
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/plugins/tactical_eager_loading.rb +0 -205
- data/vendor/bundle/ruby/3.1.0/gems/sequel-5.56.0/lib/sequel/version.rb +0 -25
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/CHANGELOG.rdoc +0 -318
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/Gemfile +0 -17
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/Manifest.txt +0 -60
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/README.rdoc +0 -118
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/Makefile +0 -267
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/aggregator.c +0 -273
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/aggregator.o +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/backup.o +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/database.c +0 -827
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/database.o +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/exception.o +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/sqlite3.o +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/sqlite3_native.so +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/statement.c +0 -442
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/ext/sqlite3/statement.o +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/faq/faq.yml +0 -426
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/lib/sqlite3/constants.rb +0 -50
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/lib/sqlite3/database.rb +0 -736
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/lib/sqlite3/pragmas.rb +0 -588
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/lib/sqlite3/sqlite3_native.so +0 -0
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/lib/sqlite3/statement.rb +0 -144
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/lib/sqlite3/translator.rb +0 -118
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/lib/sqlite3/version.rb +0 -25
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/rakelib/gem.rake +0 -40
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/rakelib/native.rake +0 -56
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/rakelib/vendor_sqlite3.rake +0 -97
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/test/helper.rb +0 -18
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/test/test_database.rb +0 -503
- data/vendor/bundle/ruby/3.1.0/gems/sqlite3-1.4.2/test/test_statement.rb +0 -263
- data/vendor/bundle/ruby/3.1.0/specifications/addressable-2.8.0.gemspec +0 -36
- data/vendor/bundle/ruby/3.1.0/specifications/debug-1.5.0.gemspec +0 -39
- data/vendor/bundle/ruby/3.1.0/specifications/faraday-2.3.0.gemspec +0 -0
- data/vendor/bundle/ruby/3.1.0/specifications/faraday-net_http-2.0.3.gemspec +0 -32
- data/vendor/bundle/ruby/3.1.0/specifications/nokogiri-1.13.6-x86_64-linux.gemspec +0 -69
- data/vendor/bundle/ruby/3.1.0/specifications/octokit-4.23.0.gemspec +0 -35
- data/vendor/bundle/ruby/3.1.0/specifications/public_suffix-4.0.7.gemspec +0 -24
- data/vendor/bundle/ruby/3.1.0/specifications/rack-2.2.3.1.gemspec +0 -41
- data/vendor/bundle/ruby/3.1.0/specifications/rack-test-1.1.0.gemspec +0 -45
- data/vendor/bundle/ruby/3.1.0/specifications/sawyer-0.9.1.gemspec +0 -31
- data/vendor/bundle/ruby/3.1.0/specifications/selenium-webdriver-4.2.0.gemspec +0 -62
- data/vendor/bundle/ruby/3.1.0/specifications/sequel-5.56.0.gemspec +0 -48
- 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
|