diff --git a/lib/rubocop/cop/rspec/base.rb b/lib/rubocop/cop/rspec/base.rb index a34bd1c99..171ba1f19 100644 --- a/lib/rubocop/cop/rspec/base.rb +++ b/lib/rubocop/cop/rspec/base.rb @@ -36,6 +36,10 @@ def self.inherited(subclass) # rubocop:disable Lint/MissingSuper RuboCop::Cop::Base.inherited(subclass) end + class << self + attr_accessor :rspec_pattern + end + def relevant_file?(file) relevant_rubocop_rspec_file?(file) && super end @@ -47,11 +51,14 @@ def relevant_rubocop_rspec_file?(file) end def rspec_pattern - if rspec_pattern_config? - Regexp.union(rspec_pattern_config.map(&Regexp.public_method(:new))) - else - DEFAULT_PATTERN_RE - end + self.class.rspec_pattern ||= + if rspec_pattern_config? + Regexp.union( + rspec_pattern_config.map(&Regexp.public_method(:new)) + ) + else + DEFAULT_PATTERN_RE + end end def all_cops_config