Class: RuboCop::RSpec::Wording

Inherits:
Object
  • Object
show all
Defined in:
lib/rubocop/rspec/wording.rb

Overview

RSpec example wording rewriter

Constant Summary collapse

SHOULDNT_PREFIX =
/\Ashould(?:n't| not)\b/i
SHOULDNT_BE_PREFIX =
/#{SHOULDNT_PREFIX} be\b/i
ES_SUFFIX_PATTERN =
/(?:o|s|x|ch|sh|z)\z/i
IES_SUFFIX_PATTERN =
/[^aeou]y\z/i

Instance Method Summary collapse

Constructor Details

#initialize(text, ignore:, replace:) ⇒ Wording

Returns a new instance of Wording.



12
13
14
15
16
# File 'lib/rubocop/rspec/wording.rb', line 12

def initialize(text, ignore:, replace:)
  @text         = text
  @ignores      = ignore
  @replacements = replace
end

Instance Method Details

#rewriteObject



18
19
20
21
22
23
24
25
26
27
# File 'lib/rubocop/rspec/wording.rb', line 18

def rewrite
  case text
  when SHOULDNT_BE_PREFIX
    replace_prefix(SHOULDNT_BE_PREFIX, 'is not')
  when SHOULDNT_PREFIX
    replace_prefix(SHOULDNT_PREFIX, 'does not')
  else
    remove_should_and_pluralize
  end
end