Sha256: c7eb2ddd8a088f977c7fd6a60a6b9353eada857962eefa41b21195c886228c7c
Contents?: true
Size: 1.28 KB
Versions: 3
Compression:
Stored size: 1.28 KB
Contents
module RuboCop module Cop module RSpec # Enforces the usage of the same method on all negative message # expectations. # # @example # # bad # it '...' do # expect(false).to_not be_true # end # # # good # it '...' do # expect(false).not_to be_true # end class NotToNot < Cop include RuboCop::Cop::ConfigurableEnforcedStyle MSG = 'Prefer `%s` over `%s`'.freeze METHOD_NAMES = [:not_to, :to_not].freeze def on_send(node) _receiver, method_name, *_args = *node return unless METHOD_NAMES.include?(method_name) return if style.equal?(method_name) add_offense(node, :expression) end def message(node) _receiver, method_name, *_args = *node if method_name.equal?(:not_to) format(MSG, 'to_not', 'not_to') else format(MSG, 'not_to', 'to_not') end end def autocorrect(node) _receiver, method_name, *_args = *node lambda do |corrector| corrector.replace(node.loc.selector, method_name.equal?(:not_to) ? 'to_not' : 'not_to') end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rubocop-rspec-1.6.0 | lib/rubocop/cop/rspec/not_to_not.rb |
rubocop-rspec-1.5.3 | lib/rubocop/cop/rspec/not_to_not.rb |
rubocop-rspec-1.5.2 | lib/rubocop/cop/rspec/not_to_not.rb |