From 5f675145793487b6736e7eee2a2c779c54f3f513 Mon Sep 17 00:00:00 2001 From: Sam Bostock Date: Thu, 10 Mar 2022 00:23:21 -0500 Subject: [PATCH 01/10] Update references from `master` to `main` --- CHANGELOG.md | 2 +- deprecation_toolkit.gemspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f610e13..d9cda24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Change log -## master (unreleased) +## main (unreleased) ## 1.4.0 (2019-04-29) * [#37](https://github.com/Shopify/deprecation_toolkit/pull/37): Add Rspec support. (@andrewmarkle) diff --git a/deprecation_toolkit.gemspec b/deprecation_toolkit.gemspec index d8eb852..4c09825 100644 --- a/deprecation_toolkit.gemspec +++ b/deprecation_toolkit.gemspec @@ -16,7 +16,7 @@ Gem::Specification.new do |spec| spec.metadata["homepage_uri"] = spec.homepage spec.metadata["source_code_uri"] = "https://github.com/shopify/deprecation_toolkit" - spec.metadata["changelog_uri"] = "https://github.com/Shopify/deprecation_toolkit/blob/master/CHANGELOG.md" + spec.metadata["changelog_uri"] = "https://github.com/Shopify/deprecation_toolkit/blob/main/CHANGELOG.md" spec.metadata["allowed_push_host"] = "https://rubygems.org" From dae0be26e9df0373d3c727e839402b62f7639d8b Mon Sep 17 00:00:00 2001 From: Sam Bostock Date: Mon, 7 Mar 2022 18:00:08 -0500 Subject: [PATCH 02/10] Stop skipping Rubocop --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 06e0f7f..8822909 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,7 +24,7 @@ jobs: bundler-cache: true - name: RuboCop - run: bundle exec rubocop || true # Ignore failures until #56 fixes Rubocop config + run: bundle exec rubocop - name: Tests run: bundle exec rake test From 52030b7c585435ca6a9845011167f3974b226e5d Mon Sep 17 00:00:00 2001 From: Sam Bostock Date: Tue, 8 Mar 2022 01:41:39 -0500 Subject: [PATCH 03/10] Require Active Support earlier The rake task code requires a subset of Active Support, but doing this without having first required the main gem entry point is not supported and breaks in 7.0 --- CHANGELOG.md | 2 ++ lib/deprecation_toolkit.rb | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d9cda24..0c1a620 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## main (unreleased) +* [#58](https://github.com/Shopify/deprecation_toolkit/pull/58): Ensure compatibility with Rails 7. (@sambostock) + ## 1.4.0 (2019-04-29) * [#37](https://github.com/Shopify/deprecation_toolkit/pull/37): Add Rspec support. (@andrewmarkle) diff --git a/lib/deprecation_toolkit.rb b/lib/deprecation_toolkit.rb index 7216565..13b9317 100644 --- a/lib/deprecation_toolkit.rb +++ b/lib/deprecation_toolkit.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require "active_support" + load("tasks/ci_recorder.rake") module DeprecationToolkit @@ -35,6 +37,4 @@ def self.attach_subscriber end require "deprecation_toolkit/minitest_hook" unless defined? RSpec -require "active_support" - require "deprecation_toolkit/warning" From 2f7020e2aba384af9a661509356425216b43b035 Mon Sep 17 00:00:00 2001 From: Sam Bostock Date: Mon, 7 Mar 2022 16:53:03 -0500 Subject: [PATCH 04/10] Test against Ruby 3.0 & 3.1 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8822909..b0d1d69 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ jobs: strategy: matrix: gemfile: [gemfiles/activesupport_5.2.gemfile, gemfiles/activesupport_6.0.gemfile] - ruby: ["2.5", "2.6", "2.7"] + ruby: ["2.5", "2.6", "2.7", "3.0", "3.1"] env: BUNDLE_GEMFILE: ${{ matrix.gemfile }} steps: From c373c2d9d21ebf735802954d2c2f4e6d5f4e327b Mon Sep 17 00:00:00 2001 From: Sam Bostock Date: Mon, 7 Mar 2022 16:53:58 -0500 Subject: [PATCH 05/10] Test against activesupport 6.1 & 7.0 --- .github/workflows/ci.yml | 8 +++++++- gemfiles/activesupport_6.1.gemfile | 12 ++++++++++++ gemfiles/activesupport_7.0.gemfile | 12 ++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 gemfiles/activesupport_6.1.gemfile create mode 100644 gemfiles/activesupport_7.0.gemfile diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b0d1d69..4722338 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,8 +8,14 @@ jobs: name: Ruby ${{ matrix.ruby }} / ${{ matrix.gemfile }} strategy: matrix: - gemfile: [gemfiles/activesupport_5.2.gemfile, gemfiles/activesupport_6.0.gemfile] + gemfile: [gemfiles/activesupport_5.2.gemfile, gemfiles/activesupport_6.0.gemfile, gemfiles/activesupport_6.1.gemfile, gemfiles/activesupport_7.0.gemfile] ruby: ["2.5", "2.6", "2.7", "3.0", "3.1"] + exclude: + # Active Support requires Ruby >= 2.7 as of 7.0 + - gemfile: "gemfiles/activesupport_7.0.gemfile" + ruby: "2.5" + - gemfile: "gemfiles/activesupport_7.0.gemfile" + ruby: "2.6" env: BUNDLE_GEMFILE: ${{ matrix.gemfile }} steps: diff --git a/gemfiles/activesupport_6.1.gemfile b/gemfiles/activesupport_6.1.gemfile new file mode 100644 index 0000000..8077cef --- /dev/null +++ b/gemfiles/activesupport_6.1.gemfile @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +source "https://rubygems.org" + +gem "activesupport", "~> 6.1" + +group :deployment do + gem "rake" + gem "rubocop" +end + +gemspec path: "../" diff --git a/gemfiles/activesupport_7.0.gemfile b/gemfiles/activesupport_7.0.gemfile new file mode 100644 index 0000000..e4bdb74 --- /dev/null +++ b/gemfiles/activesupport_7.0.gemfile @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +source "https://rubygems.org" + +gem "activesupport", "~> 7.0" + +group :deployment do + gem "rake" + gem "rubocop" +end + +gemspec path: "../" From c7b6d61097b3fcca676f381fdb9ddcaee2fb485f Mon Sep 17 00:00:00 2001 From: Sam Bostock Date: Mon, 7 Mar 2022 17:39:55 -0500 Subject: [PATCH 06/10] Drop support for Ruby < 2.6 --- .github/workflows/ci.yml | 4 +- .rubocop.yml | 2 +- CHANGELOG.md | 1 + deprecation_toolkit.gemspec | 2 +- lib/deprecation_toolkit/warning.rb | 47 ++++++------------------ test/deprecation_toolkit/warning_test.rb | 22 +++++------ 6 files changed, 25 insertions(+), 53 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4722338..a204a85 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,11 +9,9 @@ jobs: strategy: matrix: gemfile: [gemfiles/activesupport_5.2.gemfile, gemfiles/activesupport_6.0.gemfile, gemfiles/activesupport_6.1.gemfile, gemfiles/activesupport_7.0.gemfile] - ruby: ["2.5", "2.6", "2.7", "3.0", "3.1"] + ruby: ["2.6", "2.7", "3.0", "3.1"] exclude: # Active Support requires Ruby >= 2.7 as of 7.0 - - gemfile: "gemfiles/activesupport_7.0.gemfile" - ruby: "2.5" - gemfile: "gemfiles/activesupport_7.0.gemfile" ruby: "2.6" env: diff --git a/.rubocop.yml b/.rubocop.yml index 2632d50..613280d 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -2,7 +2,7 @@ inherit_gem: rubocop-shopify: rubocop.yml AllCops: - TargetRubyVersion: 2.5 + TargetRubyVersion: 2.6 Exclude: - gemfiles/vendor/**/* diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c1a620..4cc1c1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## main (unreleased) +* [#58](https://github.com/Shopify/deprecation_toolkit/pull/58): Drop support for Ruby < 2.6. (@sambostock) * [#58](https://github.com/Shopify/deprecation_toolkit/pull/58): Ensure compatibility with Rails 7. (@sambostock) ## 1.4.0 (2019-04-29) diff --git a/deprecation_toolkit.gemspec b/deprecation_toolkit.gemspec index 4c09825..dbb187c 100644 --- a/deprecation_toolkit.gemspec +++ b/deprecation_toolkit.gemspec @@ -20,7 +20,7 @@ Gem::Specification.new do |spec| spec.metadata["allowed_push_host"] = "https://rubygems.org" - spec.required_ruby_version = ">= 2.5" + spec.required_ruby_version = ">= 2.6" spec.files = %x(git ls-files -z).split("\x0").reject do |f| f.match(%r{^(test)/}) diff --git a/lib/deprecation_toolkit/warning.rb b/lib/deprecation_toolkit/warning.rb index cc7aebc..12ea47b 100644 --- a/lib/deprecation_toolkit/warning.rb +++ b/lib/deprecation_toolkit/warning.rb @@ -43,43 +43,18 @@ def deprecation_triggered?(str) end end -# Warning is a new feature in ruby 2.5, so support older versions -# Note that the `Warning` module exists in Ruby 2.4 but has a bug https://bugs.ruby-lang.org/issues/12944 -if RUBY_VERSION < "2.5.0" && RUBY_ENGINE == "ruby" - module Kernel - class << self - alias_method :__original_warn, :warn - - def warn(*messages) - message = messages.join("\n") - message += "\n" unless message.end_with?("\n") - - if DeprecationToolkit::Warning.deprecation_triggered?(message) - ActiveSupport::Deprecation.warn(message) - else - __original_warn(messages) - end - end - end - - def warn(*messages) - Kernel.warn(messages) - end - end -else - module DeprecationToolkit - module WarningPatch - def warn(str) - str = DeprecationToolkit::Warning.handle_multipart(str) - return unless str - - if DeprecationToolkit::Warning.deprecation_triggered?(str) - ActiveSupport::Deprecation.warn(str) - else - super - end +module DeprecationToolkit + module WarningPatch + def warn(str) + str = DeprecationToolkit::Warning.handle_multipart(str) + return unless str + + if DeprecationToolkit::Warning.deprecation_triggered?(str) + ActiveSupport::Deprecation.warn(str) + else + super end end end - Warning.singleton_class.prepend(DeprecationToolkit::WarningPatch) end +Warning.singleton_class.prepend(DeprecationToolkit::WarningPatch) diff --git a/test/deprecation_toolkit/warning_test.rb b/test/deprecation_toolkit/warning_test.rb index c293c3b..e6bdcf1 100644 --- a/test/deprecation_toolkit/warning_test.rb +++ b/test/deprecation_toolkit/warning_test.rb @@ -64,21 +64,19 @@ class WarningTest < ActiveSupport::TestCase end end - if RUBY_VERSION >= "2.5" - test "Ruby 2.7 two-part keyword argument warning are joined together" do - Configuration.warnings_treated_as_deprecation = [/Using the last argument as keyword parameters/] + test "Ruby 2.7 two-part keyword argument warning are joined together" do + Configuration.warnings_treated_as_deprecation = [/Using the last argument as keyword parameters/] - error = assert_raises(Behaviors::DeprecationIntroduced) do - warn("/path/to/caller.rb:1: warning: Using the last argument as keyword parameters is deprecated; " \ - "maybe ** should be added to the call") - warn("/path/to/calleee.rb:1: warning: The called method `method_name' is defined here") - - trigger_deprecation_toolkit_behavior - end + error = assert_raises(Behaviors::DeprecationIntroduced) do + warn("/path/to/caller.rb:1: warning: Using the last argument as keyword parameters is deprecated; " \ + "maybe ** should be added to the call") + warn("/path/to/calleee.rb:1: warning: The called method `method_name' is defined here") - assert_match(/Using the last argument as keyword parameters/, error.message) - assert_match(/The called method/, error.message) + trigger_deprecation_toolkit_behavior end + + assert_match(/Using the last argument as keyword parameters/, error.message) + assert_match(/The called method/, error.message) end end end From 26cd95f7cbd1ba002a759bef4e7997e302db23de Mon Sep 17 00:00:00 2001 From: Sam Bostock Date: Mon, 7 Mar 2022 18:01:28 -0500 Subject: [PATCH 07/10] Drop support for activesupport < 5.2 --- CHANGELOG.md | 2 +- Gemfile.lock | 2 +- deprecation_toolkit.gemspec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4cc1c1c..6912307 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## main (unreleased) -* [#58](https://github.com/Shopify/deprecation_toolkit/pull/58): Drop support for Ruby < 2.6. (@sambostock) +* [#58](https://github.com/Shopify/deprecation_toolkit/pull/58): Drop support for Ruby < 2.6 & Active Support < 5.2. (@sambostock) * [#58](https://github.com/Shopify/deprecation_toolkit/pull/58): Ensure compatibility with Rails 7. (@sambostock) ## 1.4.0 (2019-04-29) diff --git a/Gemfile.lock b/Gemfile.lock index c02ead8..518371d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,7 +2,7 @@ PATH remote: . specs: deprecation_toolkit (1.5.1) - activesupport (>= 4.2) + activesupport (>= 5.2) GEM remote: https://rubygems.org/ diff --git a/deprecation_toolkit.gemspec b/deprecation_toolkit.gemspec index dbb187c..394a7ee 100644 --- a/deprecation_toolkit.gemspec +++ b/deprecation_toolkit.gemspec @@ -27,7 +27,7 @@ Gem::Specification.new do |spec| end spec.require_paths = ["lib"] - spec.add_runtime_dependency("activesupport", ">= 4.2") + spec.add_runtime_dependency("activesupport", ">= 5.2") spec.add_development_dependency("bundler", ">= 1.16") spec.add_development_dependency("minitest", "~> 5.0") From 0de978c12536e7dc3c0d9c1302918c6dc74e3798 Mon Sep 17 00:00:00 2001 From: Sam Bostock Date: Mon, 7 Mar 2022 18:01:57 -0500 Subject: [PATCH 08/10] Refactor gemfiles We aren't using groups, so we can take a simpler approach by keeping runtime dependencies in the gemspec, and everything else in Gemfile. We can also use eval_gemfile to avoid repeating ourselves. Instance variable approach based on Shopify/maintenance_tasks. --- Gemfile | 15 +++++++++------ Gemfile.lock | 7 +++---- deprecation_toolkit.gemspec | 5 ----- gemfiles/activesupport_5.2.gemfile | 11 ++--------- gemfiles/activesupport_6.0.gemfile | 11 ++--------- gemfiles/activesupport_6.1.gemfile | 11 ++--------- gemfiles/activesupport_7.0.gemfile | 11 ++--------- 7 files changed, 20 insertions(+), 51 deletions(-) diff --git a/Gemfile b/Gemfile index abd483e..c987882 100644 --- a/Gemfile +++ b/Gemfile @@ -4,11 +4,14 @@ source "https://rubygems.org" gemspec -group :deployment do - gem "rake" - gem "rubocop" -end +gem "bundler" +gem "minitest" +gem "rake" +gem "rspec" +gem "rubocop-shopify" -group :test do - gem "rubocop-shopify" +if defined?(@activesupport_gem_requirement) && @activesupport_gem_requirement + # causes Dependabot to ignore the next line + activesupport = "activesupport" + gem activesupport, @activesupport_gem_requirement end diff --git a/Gemfile.lock b/Gemfile.lock index 518371d..093d882 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -63,12 +63,11 @@ PLATFORMS ruby DEPENDENCIES - bundler (>= 1.16) + bundler deprecation_toolkit! - minitest (~> 5.0) + minitest rake - rspec (~> 3.0) - rubocop + rspec rubocop-shopify BUNDLED WITH diff --git a/deprecation_toolkit.gemspec b/deprecation_toolkit.gemspec index 394a7ee..81c559c 100644 --- a/deprecation_toolkit.gemspec +++ b/deprecation_toolkit.gemspec @@ -28,9 +28,4 @@ Gem::Specification.new do |spec| spec.require_paths = ["lib"] spec.add_runtime_dependency("activesupport", ">= 5.2") - - spec.add_development_dependency("bundler", ">= 1.16") - spec.add_development_dependency("minitest", "~> 5.0") - spec.add_development_dependency("rake", "~> 10.0") - spec.add_development_dependency("rspec", "~> 3.0") end diff --git a/gemfiles/activesupport_5.2.gemfile b/gemfiles/activesupport_5.2.gemfile index afe2ab5..43d25d2 100644 --- a/gemfiles/activesupport_5.2.gemfile +++ b/gemfiles/activesupport_5.2.gemfile @@ -1,12 +1,5 @@ # frozen_string_literal: true -source "https://rubygems.org" +@activesupport_gem_requirement = "~> 5.2" -gem "activesupport", "~> 5.2" - -group :deployment do - gem "rake" - gem "rubocop" -end - -gemspec path: "../" +eval_gemfile "../Gemfile" diff --git a/gemfiles/activesupport_6.0.gemfile b/gemfiles/activesupport_6.0.gemfile index f2accd6..968f823 100644 --- a/gemfiles/activesupport_6.0.gemfile +++ b/gemfiles/activesupport_6.0.gemfile @@ -1,12 +1,5 @@ # frozen_string_literal: true -source "https://rubygems.org" +@activesupport_gem_requirement = "~> 6.0" -gem "activesupport", "~> 6.0" - -group :deployment do - gem "rake" - gem "rubocop" -end - -gemspec path: "../" +eval_gemfile "../Gemfile" diff --git a/gemfiles/activesupport_6.1.gemfile b/gemfiles/activesupport_6.1.gemfile index 8077cef..d022926 100644 --- a/gemfiles/activesupport_6.1.gemfile +++ b/gemfiles/activesupport_6.1.gemfile @@ -1,12 +1,5 @@ # frozen_string_literal: true -source "https://rubygems.org" +@activesupport_gem_requirement = "~> 6.1" -gem "activesupport", "~> 6.1" - -group :deployment do - gem "rake" - gem "rubocop" -end - -gemspec path: "../" +eval_gemfile "../Gemfile" diff --git a/gemfiles/activesupport_7.0.gemfile b/gemfiles/activesupport_7.0.gemfile index e4bdb74..0c22e7b 100644 --- a/gemfiles/activesupport_7.0.gemfile +++ b/gemfiles/activesupport_7.0.gemfile @@ -1,12 +1,5 @@ # frozen_string_literal: true -source "https://rubygems.org" +@activesupport_gem_requirement = "~> 7.0" -gem "activesupport", "~> 7.0" - -group :deployment do - gem "rake" - gem "rubocop" -end - -gemspec path: "../" +eval_gemfile "../Gemfile" From 0f721cd6e22d55d7c080bf16ab976ebc643d1742 Mon Sep 17 00:00:00 2001 From: Sam Bostock Date: Mon, 7 Mar 2022 18:11:21 -0500 Subject: [PATCH 09/10] Test against edge activesupport --- .github/workflows/ci.yml | 4 +++- gemfiles/activesupport_edge.gemfile | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 gemfiles/activesupport_edge.gemfile diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a204a85..e9dc2c8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,12 +8,14 @@ jobs: name: Ruby ${{ matrix.ruby }} / ${{ matrix.gemfile }} strategy: matrix: - gemfile: [gemfiles/activesupport_5.2.gemfile, gemfiles/activesupport_6.0.gemfile, gemfiles/activesupport_6.1.gemfile, gemfiles/activesupport_7.0.gemfile] + gemfile: [gemfiles/activesupport_5.2.gemfile, gemfiles/activesupport_6.0.gemfile, gemfiles/activesupport_6.1.gemfile, gemfiles/activesupport_7.0.gemfile, gemfiles/activesupport_edge.gemfile] ruby: ["2.6", "2.7", "3.0", "3.1"] exclude: # Active Support requires Ruby >= 2.7 as of 7.0 - gemfile: "gemfiles/activesupport_7.0.gemfile" ruby: "2.6" + - gemfile: "gemfiles/activesupport_edge.gemfile" + ruby: "2.6" env: BUNDLE_GEMFILE: ${{ matrix.gemfile }} steps: diff --git a/gemfiles/activesupport_edge.gemfile b/gemfiles/activesupport_edge.gemfile new file mode 100644 index 0000000..8ada088 --- /dev/null +++ b/gemfiles/activesupport_edge.gemfile @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +@activesupport_gem_requirement = { github: "rails/rails" } + +eval_gemfile "../Gemfile" From 8abef8baf235eec19706e2061e5b291d4e5892d9 Mon Sep 17 00:00:00 2001 From: Sam Bostock Date: Mon, 7 Mar 2022 18:12:42 -0500 Subject: [PATCH 10/10] Update all dev dependencies --- Gemfile.lock | 47 ++++++++++++++++++++++------------------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 093d882..92c332c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -7,38 +7,37 @@ PATH GEM remote: https://rubygems.org/ specs: - activesupport (6.0.2.2) + activesupport (7.0.2.2) concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - zeitwerk (~> 2.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) ast (2.4.2) - concurrent-ruby (1.1.6) - diff-lcs (1.3) - i18n (1.8.2) + concurrent-ruby (1.1.9) + diff-lcs (1.5.0) + i18n (1.10.0) concurrent-ruby (~> 1.0) - minitest (5.14.0) + minitest (5.15.0) parallel (1.21.0) parser (3.1.1.0) ast (~> 2.4.1) rainbow (3.1.1) - rake (12.3.2) + rake (13.0.6) regexp_parser (2.2.1) rexml (3.2.5) - rspec (3.8.0) - rspec-core (~> 3.8.0) - rspec-expectations (~> 3.8.0) - rspec-mocks (~> 3.8.0) - rspec-core (3.8.0) - rspec-support (~> 3.8.0) - rspec-expectations (3.8.2) + rspec (3.11.0) + rspec-core (~> 3.11.0) + rspec-expectations (~> 3.11.0) + rspec-mocks (~> 3.11.0) + rspec-core (3.11.0) + rspec-support (~> 3.11.0) + rspec-expectations (3.11.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.8.0) - rspec-mocks (3.8.0) + rspec-support (~> 3.11.0) + rspec-mocks (3.11.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.8.0) - rspec-support (3.8.0) + rspec-support (~> 3.11.0) + rspec-support (3.11.0) rubocop (1.25.1) parallel (~> 1.10) parser (>= 3.1.0.0) @@ -53,11 +52,9 @@ GEM rubocop-shopify (2.5.0) rubocop (~> 1.25) ruby-progressbar (1.11.0) - thread_safe (0.3.6) - tzinfo (1.2.7) - thread_safe (~> 0.1) + tzinfo (2.0.4) + concurrent-ruby (~> 1.0) unicode-display_width (2.1.0) - zeitwerk (2.3.0) PLATFORMS ruby