From af58800c1605a9c0033a50b3a22897f8003e979e Mon Sep 17 00:00:00 2001 From: Tobi Lutke Date: Thu, 1 Jan 2026 20:22:19 -0500 Subject: [PATCH] Update rubocop-shopify to 2.18.0 and fix new offenses --- .rubocop_todo.yml | 11 ++++++++++- Gemfile | 2 +- lib/liquid/condition.rb | 4 ++-- lib/liquid/drop.rb | 2 +- lib/liquid/utils.rb | 2 +- test/integration/standard_filter_test.rb | 2 +- test/integration/tags/standard_tag_test.rb | 2 +- test/unit/condition_unit_test.rb | 4 ++-- 8 files changed, 19 insertions(+), 10 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 424b9b4d..1fcb7b54 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -174,7 +174,16 @@ Style/WordArray: # Offense count: 117 # This cop supports safe auto-correction (--auto-correct). -# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, IgnoredPatterns. +# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, AllowCopDirectives, AllowedPatterns. # URISchemes: http, https Layout/LineLength: Max: 260 + +Naming/PredicatePrefix: + Enabled: false + +# Offense count: 1 +# This is intentional - early return from begin/rescue in assignment context +Lint/NoReturnInBeginEndBlocks: + Exclude: + - 'lib/liquid/standardfilters.rb' diff --git a/Gemfile b/Gemfile index 9bab0a36..07994975 100644 --- a/Gemfile +++ b/Gemfile @@ -27,6 +27,6 @@ end group :test do gem 'benchmark' gem 'rubocop', '~> 1.82.0' - gem 'rubocop-shopify', '~> 2.12.0', require: false + gem 'rubocop-shopify', '~> 2.18.0', require: false gem 'rubocop-performance', require: false end diff --git a/lib/liquid/condition.rb b/lib/liquid/condition.rb index 16eca6d6..a4096551 100644 --- a/lib/liquid/condition.rb +++ b/lib/liquid/condition.rb @@ -194,8 +194,8 @@ module Liquid end def deprecated_default_context - warn("DEPRECATION WARNING: Condition#evaluate without a context argument is deprecated" \ - " and will be removed from Liquid 6.0.0.") + warn("DEPRECATION WARNING: Condition#evaluate without a context argument is deprecated " \ + "and will be removed from Liquid 6.0.0.") Context.new end diff --git a/lib/liquid/drop.rb b/lib/liquid/drop.rb index b990630e..d13398ec 100644 --- a/lib/liquid/drop.rb +++ b/lib/liquid/drop.rb @@ -31,7 +31,7 @@ module Liquid # Catch all for the method def liquid_method_missing(method) - return nil unless @context&.strict_variables + return unless @context&.strict_variables raise Liquid::UndefinedDropMethod, "undefined method #{method}" end diff --git a/lib/liquid/utils.rb b/lib/liquid/utils.rb index eb0a02a9..084739a2 100644 --- a/lib/liquid/utils.rb +++ b/lib/liquid/utils.rb @@ -69,7 +69,7 @@ module Liquid return obj if obj.respond_to?(:strftime) if obj.is_a?(String) - return nil if obj.empty? + return if obj.empty? obj = obj.downcase end diff --git a/test/integration/standard_filter_test.rb b/test/integration/standard_filter_test.rb index 4a10716d..f81af489 100644 --- a/test/integration/standard_filter_test.rb +++ b/test/integration/standard_filter_test.rb @@ -116,7 +116,7 @@ class StandardFiltersTest < Minitest::Test end def test_slice_on_arrays - input = 'foobar'.split(//) + input = 'foobar'.split('') assert_equal(%w(o o b), @filters.slice(input, 1, 3)) assert_equal(%w(o o b a r), @filters.slice(input, 1, 1000)) assert_equal(%w(), @filters.slice(input, 1, 0)) diff --git a/test/integration/tags/standard_tag_test.rb b/test/integration/tags/standard_tag_test.rb index 6c297d40..67471e73 100644 --- a/test/integration/tags/standard_tag_test.rb +++ b/test/integration/tags/standard_tag_test.rb @@ -117,7 +117,7 @@ class StandardTagTest < Minitest::Test assigns = { 'condition' => "bad string here" } assert_template_result( '', - '{% case condition %}{% when "string here" %} hit {% endcase %}',\ + '{% case condition %}{% when "string here" %} hit {% endcase %}', assigns, ) end diff --git a/test/unit/condition_unit_test.rb b/test/unit/condition_unit_test.rb index e250ce0f..2ac83275 100644 --- a/test/unit/condition_unit_test.rb +++ b/test/unit/condition_unit_test.rb @@ -161,8 +161,8 @@ class ConditionUnitTest < Minitest::Test assert_equal(true, Condition.new(1, '==', 1).evaluate) end - expected = "DEPRECATION WARNING: Condition#evaluate without a context argument is deprecated" \ - " and will be removed from Liquid 6.0.0." + expected = "DEPRECATION WARNING: Condition#evaluate without a context argument is deprecated " \ + "and will be removed from Liquid 6.0.0." assert_includes(err.lines.map(&:strip), expected) end