diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index f3d396a..5c14dba 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -14,7 +14,7 @@ env: # # If updating this value, you probably also want to add a new version to the # spec version matrix below. - RUBY_VERSION: "3.4" + RUBY_VERSION: "4.0" # A suitable URL for a test database. TEST_DATABASE_NAME: river_test @@ -134,6 +134,7 @@ jobs: - "3.2" - "3.3" - "3.4" + - "4.0" services: postgres: diff --git a/.tool-versions b/.tool-versions index 380cf51..b77860b 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -ruby 3.4 +ruby 4.0 diff --git a/Gemfile.lock b/Gemfile.lock index 5d1e590..23ce27e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -13,64 +13,67 @@ PATH GEM remote: https://rubygems.org/ specs: - activesupport (8.0.4.1) + activesupport (8.1.3) base64 - benchmark (>= 0.3) bigdecimal concurrent-ruby (~> 1.0, >= 1.3.1) connection_pool (>= 2.2.5) drb i18n (>= 1.6, < 2) + json logger (>= 1.4.2) - minitest (>= 5.1, < 6) + minitest (>= 5.1) securerandom (>= 0.3) tzinfo (~> 2.0, >= 2.0.5) uri (>= 0.13.1) ast (2.4.3) base64 (0.3.0) - benchmark (0.5.0) - bigdecimal (4.0.1) + bigdecimal (4.1.0) concurrent-ruby (1.3.6) connection_pool (3.0.2) csv (3.3.5) - date (3.4.1) - debug (1.11.0) + date (3.5.1) + debug (1.11.1) irb (~> 1.10) reline (>= 0.3.8) diff-lcs (1.6.2) docile (1.4.1) drb (2.2.3) - erb (5.1.1) - ffi (1.17.2-arm64-darwin) - ffi (1.17.2-x86_64-linux-gnu) - fileutils (1.7.3) + erb (6.0.2) + ffi (1.17.4-arm64-darwin) + ffi (1.17.4-x86_64-linux-gnu) + fileutils (1.8.0) i18n (1.14.8) concurrent-ruby (~> 1.0) - io-console (0.8.1) - irb (1.15.2) + io-console (0.8.2) + irb (1.17.0) pp (>= 0.6.0) + prism (>= 1.3.0) rdoc (>= 4.0.0) reline (>= 0.4.2) - json (2.15.2.1) + json (2.19.3) language_server-protocol (3.17.0.5) lint_roller (1.1.0) - listen (3.9.0) + listen (3.10.0) + logger rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) logger (1.7.0) - minitest (5.27.0) + minitest (6.0.2) + drb (~> 2.0) + prism (~> 1.5) mutex_m (0.3.0) parallel (1.27.0) - parser (3.3.9.0) + parser (3.3.11.1) ast (~> 2.4.1) racc - pg (1.6.2-arm64-darwin) - pg (1.6.2-x86_64-linux) + pg (1.6.3-arm64-darwin) + pg (1.6.3-x86_64-linux) pp (0.6.3) prettyprint prettyprint (0.2.0) - prism (1.6.0) - psych (5.2.6) + prism (1.9.0) + psych (5.3.1) date stringio racc (1.8.1) @@ -78,22 +81,23 @@ GEM rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) - rbs (3.9.5) + rbs (3.10.4) logger - rdoc (6.15.0) + tsort + rdoc (7.2.0) erb psych (>= 4.0.0) tsort regexp_parser (2.11.3) - reline (0.6.2) + reline (0.6.3) io-console (~> 0.5) rspec-core (3.13.6) rspec-support (~> 3.13.0) rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-support (3.13.6) - rubocop (1.80.2) + rspec-support (3.13.7) + rubocop (1.84.2) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -101,19 +105,19 @@ GEM parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.46.0, < 2.0) + rubocop-ast (>= 1.49.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.47.1) + rubocop-ast (1.49.1) parser (>= 3.3.7.2) - prism (~> 1.4) - rubocop-performance (1.25.0) + prism (~> 1.7) + rubocop-performance (1.26.1) lint_roller (~> 1.1) rubocop (>= 1.75.0, < 2.0) - rubocop-ast (>= 1.38.0, < 2.0) + rubocop-ast (>= 1.47.1, < 2.0) ruby-progressbar (1.13.0) securerandom (0.4.1) - sequel (5.97.0) + sequel (5.102.0) bigdecimal simplecov (0.22.0) docile (~> 1.1) @@ -121,18 +125,18 @@ GEM simplecov_json_formatter (~> 0.1) simplecov-html (0.13.2) simplecov_json_formatter (0.1.4) - standard (1.51.1) + standard (1.54.0) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.0) - rubocop (~> 1.80.2) + rubocop (~> 1.84.0) standard-custom (~> 1.0.0) standard-performance (~> 1.8) standard-custom (1.0.2) lint_roller (~> 1.0) rubocop (~> 1.50) - standard-performance (1.8.0) + standard-performance (1.9.0) lint_roller (~> 1.1) - rubocop-performance (~> 1.25.0) + rubocop-performance (~> 1.26.0) steep (1.10.0) activesupport (>= 5.1) concurrent-ruby (>= 1.1.10) @@ -150,8 +154,8 @@ GEM strscan (>= 1.0.0) terminal-table (>= 2, < 5) uri (>= 0.12.0) - stringio (3.1.7) - strscan (3.1.5) + stringio (3.2.0) + strscan (3.1.7) terminal-table (4.0.0) unicode-display_width (>= 1.1.1, < 4) tsort (0.2.0) @@ -159,13 +163,11 @@ GEM concurrent-ruby (~> 1.0) unicode-display_width (3.2.0) unicode-emoji (~> 4.1) - unicode-emoji (4.1.0) + unicode-emoji (4.2.0) uri (1.1.1) PLATFORMS - arm64-darwin-22 - arm64-darwin-23 - arm64-darwin-24 + arm64-darwin-25 x86_64-linux DEPENDENCIES diff --git a/driver/riverqueue-activerecord/Gemfile.lock b/driver/riverqueue-activerecord/Gemfile.lock index 3897ee8..b5b56f1 100644 --- a/driver/riverqueue-activerecord/Gemfile.lock +++ b/driver/riverqueue-activerecord/Gemfile.lock @@ -14,13 +14,13 @@ PATH GEM remote: https://rubygems.org/ specs: - activemodel (8.1.2.1) - activesupport (= 8.1.2.1) - activerecord (8.1.2.1) - activemodel (= 8.1.2.1) - activesupport (= 8.1.2.1) + activemodel (8.1.3) + activesupport (= 8.1.3) + activerecord (8.1.3) + activemodel (= 8.1.3) + activesupport (= 8.1.3) timeout (>= 0.4.0) - activesupport (8.1.2.1) + activesupport (8.1.3) base64 bigdecimal concurrent-ruby (~> 1.0, >= 1.3.1) @@ -33,101 +33,115 @@ GEM securerandom (>= 0.3) tzinfo (~> 2.0, >= 2.0.5) uri (>= 0.13.1) - ast (2.4.2) + ast (2.4.3) base64 (0.3.0) - bigdecimal (4.0.1) + bigdecimal (4.1.0) concurrent-ruby (1.3.6) connection_pool (3.0.2) - date (3.4.1) - debug (1.10.0) + date (3.5.1) + debug (1.11.1) irb (~> 1.10) reline (>= 0.3.8) - diff-lcs (1.5.1) + diff-lcs (1.6.2) docile (1.4.1) drb (2.2.3) + erb (6.0.2) i18n (1.14.8) concurrent-ruby (~> 1.0) - io-console (0.8.0) - irb (1.14.3) + io-console (0.8.2) + irb (1.17.0) + pp (>= 0.6.0) + prism (>= 1.3.0) rdoc (>= 4.0.0) reline (>= 0.4.2) - json (2.19.2) - language_server-protocol (3.17.0.3) + json (2.19.3) + language_server-protocol (3.17.0.5) lint_roller (1.1.0) logger (1.7.0) minitest (6.0.2) drb (~> 2.0) prism (~> 1.5) - parallel (1.26.3) - parser (3.3.6.0) + parallel (1.27.0) + parser (3.3.11.1) ast (~> 2.4.1) racc - pg (1.5.9) + pg (1.6.3-arm64-darwin) + pg (1.6.3-x86_64-linux) + pp (0.6.3) + prettyprint + prettyprint (0.2.0) prism (1.9.0) - psych (5.2.2) + psych (5.3.1) date stringio racc (1.8.1) rainbow (3.1.1) - rdoc (6.10.0) + rdoc (7.2.0) + erb psych (>= 4.0.0) - regexp_parser (2.10.0) - reline (0.6.0) + tsort + regexp_parser (2.11.3) + reline (0.6.3) io-console (~> 0.5) - rspec-core (3.13.2) + rspec-core (3.13.6) rspec-support (~> 3.13.0) - rspec-expectations (3.13.3) + rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-support (3.13.2) - rubocop (1.69.2) + rspec-support (3.13.7) + rubocop (1.84.2) json (~> 2.3) - language_server-protocol (>= 3.17.0) + language_server-protocol (~> 3.17.0.2) + lint_roller (~> 1.1.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.36.2, < 2.0) + rubocop-ast (>= 1.49.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.37.0) - parser (>= 3.3.1.0) - rubocop-performance (1.23.0) - rubocop (>= 1.48.1, < 2.0) - rubocop-ast (>= 1.31.1, < 2.0) + rubocop-ast (1.49.1) + parser (>= 3.3.7.2) + prism (~> 1.7) + rubocop-performance (1.26.1) + lint_roller (~> 1.1) + rubocop (>= 1.75.0, < 2.0) + rubocop-ast (>= 1.47.1, < 2.0) ruby-progressbar (1.13.0) securerandom (0.4.1) simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) - simplecov-html (0.13.1) + simplecov-html (0.13.2) simplecov_json_formatter (0.1.4) - standard (1.43.0) + standard (1.54.0) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.0) - rubocop (~> 1.69.1) + rubocop (~> 1.84.0) standard-custom (~> 1.0.0) - standard-performance (~> 1.6) + standard-performance (~> 1.8) standard-custom (1.0.2) lint_roller (~> 1.0) rubocop (~> 1.50) - standard-performance (1.6.0) + standard-performance (1.9.0) lint_roller (~> 1.1) - rubocop-performance (~> 1.23.0) - stringio (3.1.2) - timeout (0.6.0) + rubocop-performance (~> 1.26.0) + stringio (3.2.0) + timeout (0.6.1) + tsort (0.2.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (3.1.2) - unicode-emoji (~> 4.0, >= 4.0.4) - unicode-emoji (4.0.4) + unicode-display_width (3.2.0) + unicode-emoji (~> 4.1) + unicode-emoji (4.2.0) uri (1.1.1) PLATFORMS arm64-darwin-22 arm64-darwin-23 arm64-darwin-24 + arm64-darwin-25 x86_64-linux DEPENDENCIES diff --git a/driver/riverqueue-sequel/Gemfile.lock b/driver/riverqueue-sequel/Gemfile.lock index e3e30ff..08a59f3 100644 --- a/driver/riverqueue-sequel/Gemfile.lock +++ b/driver/riverqueue-sequel/Gemfile.lock @@ -13,71 +13,77 @@ PATH GEM remote: https://rubygems.org/ specs: - ast (2.4.2) - bigdecimal (3.1.9) - diff-lcs (1.5.1) + ast (2.4.3) + bigdecimal (4.1.0) + diff-lcs (1.6.2) docile (1.4.1) - json (2.9.1) - language_server-protocol (3.17.0.3) + json (2.19.3) + language_server-protocol (3.17.0.5) lint_roller (1.1.0) - parallel (1.26.3) - parser (3.3.6.0) + parallel (1.27.0) + parser (3.3.11.1) ast (~> 2.4.1) racc - pg (1.5.9) + pg (1.6.3-arm64-darwin) + pg (1.6.3-x86_64-linux) + prism (1.9.0) racc (1.8.1) rainbow (3.1.1) - regexp_parser (2.10.0) - rspec-core (3.13.2) + regexp_parser (2.11.3) + rspec-core (3.13.6) rspec-support (~> 3.13.0) - rspec-expectations (3.13.3) + rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-support (3.13.2) - rubocop (1.69.2) + rspec-support (3.13.7) + rubocop (1.84.2) json (~> 2.3) - language_server-protocol (>= 3.17.0) + language_server-protocol (~> 3.17.0.2) + lint_roller (~> 1.1.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.36.2, < 2.0) + rubocop-ast (>= 1.49.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.37.0) - parser (>= 3.3.1.0) - rubocop-performance (1.23.0) - rubocop (>= 1.48.1, < 2.0) - rubocop-ast (>= 1.31.1, < 2.0) + rubocop-ast (1.49.1) + parser (>= 3.3.7.2) + prism (~> 1.7) + rubocop-performance (1.26.1) + lint_roller (~> 1.1) + rubocop (>= 1.75.0, < 2.0) + rubocop-ast (>= 1.47.1, < 2.0) ruby-progressbar (1.13.0) - sequel (5.87.0) + sequel (5.102.0) bigdecimal simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) - simplecov-html (0.13.1) + simplecov-html (0.13.2) simplecov_json_formatter (0.1.4) - standard (1.43.0) + standard (1.54.0) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.0) - rubocop (~> 1.69.1) + rubocop (~> 1.84.0) standard-custom (~> 1.0.0) - standard-performance (~> 1.6) + standard-performance (~> 1.8) standard-custom (1.0.2) lint_roller (~> 1.0) rubocop (~> 1.50) - standard-performance (1.6.0) + standard-performance (1.9.0) lint_roller (~> 1.1) - rubocop-performance (~> 1.23.0) - unicode-display_width (3.1.2) - unicode-emoji (~> 4.0, >= 4.0.4) - unicode-emoji (4.0.4) + rubocop-performance (~> 1.26.0) + unicode-display_width (3.2.0) + unicode-emoji (~> 4.1) + unicode-emoji (4.2.0) PLATFORMS arm64-darwin-22 arm64-darwin-23 arm64-darwin-24 + arm64-darwin-25 x86_64-linux DEPENDENCIES diff --git a/lib/client.rb b/lib/client.rb index b5a8949..88de340 100644 --- a/lib/client.rb +++ b/lib/client.rb @@ -129,7 +129,7 @@ def insert_many(args) @driver.job_insert_many(all_params) .map do |job, unique_skipped_as_duplicate| - InsertResult.new(job, unique_skipped_as_duplicated: unique_skipped_as_duplicate) + InsertResult.new(job, unique_skipped_as_duplicated: unique_skipped_as_duplicate) end end