class RuboCop::Cop::RSpec::StringAsInstanceDoubleConstant

Do not use a string as ‘instance_double` constant.

@safety

This cop is unsafe because the correction requires loading the class.
Loading before stubbing causes RSpec to only allow instance methods
to be stubbed.

@example

# bad
instance_double('User', name: 'John')

# good
instance_double(User, name: 'John')

Constants

MSG
RESTRICT_ON_SEND

Public Instance Methods

autocorrect(corrector, node) click to toggle source
# File lib/rubocop/cop/rspec/string_as_instance_double_constant.rb, line 39
def autocorrect(corrector, node)
  corrector.replace(node, node.value)
end
on_send(node) click to toggle source
# File lib/rubocop/cop/rspec/string_as_instance_double_constant.rb, line 31
def on_send(node)
  stringified_instance_double_const?(node) do |args_node|
    add_offense(args_node) do |corrector|
      autocorrect(corrector, args_node)
    end
  end
end