From 21bf86038ca8b9240abcfd4980533b2248ae9577 Mon Sep 17 00:00:00 2001 From: Benjamin Quorning Date: Mon, 10 Feb 2025 16:07:57 +0100 Subject: [PATCH] Loosen Metrics/MethodLength to 15 The default is 10, which seems to be just a bit too low for our code. --- .rubocop.yml | 3 +++ lib/rubocop/cop/rspec/change_by_zero.rb | 2 -- lib/rubocop/cop/rspec/example_wording.rb | 2 -- lib/rubocop/cop/rspec/expect_actual.rb | 2 +- lib/rubocop/cop/rspec/implicit_expect.rb | 2 +- lib/rubocop/cop/rspec/implicit_subject.rb | 4 ---- lib/rubocop/cop/rspec/predicate_matcher.rb | 6 ------ lib/rubocop/rspec/wording.rb | 2 -- 8 files changed, 5 insertions(+), 18 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index e8de9e412..eea5a6472 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -69,6 +69,9 @@ Metrics/BlockLength: - Rakefile - '**/*.rake' +Metrics/MethodLength: + Max: 15 + Naming/FileName: Exclude: - lib/rubocop-rspec.rb diff --git a/lib/rubocop/cop/rspec/change_by_zero.rb b/lib/rubocop/cop/rspec/change_by_zero.rb index 82da74193..71407f74b 100644 --- a/lib/rubocop/cop/rspec/change_by_zero.rb +++ b/lib/rubocop/cop/rspec/change_by_zero.rb @@ -101,7 +101,6 @@ def on_send(node) private - # rubocop:disable Metrics/MethodLength def register_offense(node, change_node) if compound_expectations?(node) add_offense(node, @@ -115,7 +114,6 @@ def register_offense(node, change_node) end end end - # rubocop:enable Metrics/MethodLength def compound_expectations?(node) node.parent.send_type? && diff --git a/lib/rubocop/cop/rspec/example_wording.rb b/lib/rubocop/cop/rspec/example_wording.rb index 741557ada..dfbccb744 100644 --- a/lib/rubocop/cop/rspec/example_wording.rb +++ b/lib/rubocop/cop/rspec/example_wording.rb @@ -67,7 +67,6 @@ class ExampleWording < Base } ...) ...) PATTERN - # rubocop:disable Metrics/MethodLength def on_block(node) # rubocop:disable InternalAffairs/NumblockHandler it_description(node) do |description_node, message| if message.match?(SHOULD_PREFIX) @@ -82,7 +81,6 @@ def on_block(node) # rubocop:disable InternalAffairs/NumblockHandler end end end - # rubocop:enable Metrics/MethodLength private diff --git a/lib/rubocop/cop/rspec/expect_actual.rb b/lib/rubocop/cop/rspec/expect_actual.rb index 7aeb0fa81..7cef8e289 100644 --- a/lib/rubocop/cop/rspec/expect_actual.rb +++ b/lib/rubocop/cop/rspec/expect_actual.rb @@ -65,7 +65,7 @@ class ExpectActual < Base ) PATTERN - def on_send(node) # rubocop:disable Metrics/MethodLength + def on_send(node) expect_literal(node) do |actual, send_node, matcher, expected| next if SKIPPED_MATCHERS.include?(matcher) diff --git a/lib/rubocop/cop/rspec/implicit_expect.rb b/lib/rubocop/cop/rspec/implicit_expect.rb index 9ee0de8ab..6f43b23aa 100644 --- a/lib/rubocop/cop/rspec/implicit_expect.rb +++ b/lib/rubocop/cop/rspec/implicit_expect.rb @@ -46,7 +46,7 @@ class ImplicitExpect < Base ENFORCED_REPLACEMENTS = alternatives.merge(alternatives.invert).freeze - def on_send(node) # rubocop:disable Metrics/MethodLength + def on_send(node) return unless (source_range = offending_expect(node)) expectation_source = source_range.source diff --git a/lib/rubocop/cop/rspec/implicit_subject.rb b/lib/rubocop/cop/rspec/implicit_subject.rb index 4179adaed..f9395ab1e 100644 --- a/lib/rubocop/cop/rspec/implicit_subject.rb +++ b/lib/rubocop/cop/rspec/implicit_subject.rb @@ -97,7 +97,6 @@ def on_send(node) private - # rubocop:disable Metrics/MethodLength def autocorrect(corrector, node) case node.method_name when :expect @@ -114,7 +113,6 @@ def autocorrect(corrector, node) # :nocov: end end - # rubocop:enable Metrics/MethodLength def message(_node) case style @@ -125,7 +123,6 @@ def message(_node) end end - # rubocop:disable Metrics/MethodLength def invalid?(node) case style when :require_implicit @@ -142,7 +139,6 @@ def invalid?(node) # :nocov: end end - # rubocop:enable Metrics/MethodLength def implicit_subject_in_non_its?(node) implicit_subject?(node) && !its?(node) diff --git a/lib/rubocop/cop/rspec/predicate_matcher.rb b/lib/rubocop/cop/rspec/predicate_matcher.rb index df71e2004..1935340a0 100644 --- a/lib/rubocop/cop/rspec/predicate_matcher.rb +++ b/lib/rubocop/cop/rspec/predicate_matcher.rb @@ -69,7 +69,6 @@ def message_inflected(predicate) matcher_name: to_predicate_matcher(predicate.method_name)) end - # rubocop:disable Metrics/MethodLength def to_predicate_matcher(name) case name = name.to_s when 'is_a?' @@ -86,7 +85,6 @@ def to_predicate_matcher(name) "be_#{name[0..-2]}" end end - # rubocop:enable Metrics/MethodLength def remove_predicate(corrector, predicate) range = predicate.loc.dot.with( @@ -110,7 +108,6 @@ def rewrite_matcher(corrector, predicate, matcher) ) end - # rubocop:disable Metrics/MethodLength def true?(to_symbol, matcher) result = case matcher.method_name when :be, :eq, :eql, :equal @@ -126,7 +123,6 @@ def true?(to_symbol, matcher) end to_symbol == :to ? result : !result end - # rubocop:enable Metrics/MethodLength end # A helper for `explicit` style @@ -245,7 +241,6 @@ def move_predicate(corrector, actual, matcher, block_child) corrector.insert_after(actual, ".#{predicate}" + args + block) end - # rubocop:disable Metrics/MethodLength def to_predicate_method(matcher) case matcher = matcher.to_s when 'be_a', 'be_an', 'be_a_kind_of', 'a_kind_of', 'be_kind_of' @@ -262,7 +257,6 @@ def to_predicate_method(matcher) "#{matcher[/\Abe_(.+)/, 1]}?" end end - # rubocop:enable Metrics/MethodLength def replacement_matcher(node) case [cop_config['Strict'], node.method?(:to)] diff --git a/lib/rubocop/rspec/wording.rb b/lib/rubocop/rspec/wording.rb index 57929c3e3..eca36fccc 100644 --- a/lib/rubocop/rspec/wording.rb +++ b/lib/rubocop/rspec/wording.rb @@ -17,7 +17,6 @@ def initialize(text, ignore:, replace:) @replacements = replace end - # rubocop:disable Metrics/MethodLength def rewrite case text when SHOULDNT_BE_PREFIX @@ -32,7 +31,6 @@ def rewrite remove_should_and_pluralize end end - # rubocop:enable Metrics/MethodLength private