Class: RuboCop::Cop::RSpec::InstanceVariable
- Inherits:
-
RuboCop::Cop
- Object
- RuboCop::Cop
- RuboCop::Cop::RSpec::InstanceVariable
- Includes:
- RSpec::Language, RSpec::SpecOnly
- Defined in:
- lib/rubocop/cop/rspec/instance_variable.rb
Overview
Checks for instance variable usage in specs.
This cop can be configured with the option AssignmentOnly which
will configure the cop to only register offenses on instance
variable usage if the instance variable is also assigned within
the spec
Constant Summary collapse
- MESSAGE =
'Use `let` instead of an instance variable'.freeze
- EXAMPLE_GROUP_METHODS =
ExampleGroups::ALL + SharedGroups::ALL
Constants included from RSpec::SpecOnly
RSpec::SpecOnly::DEFAULT_CONFIGURATION
Constants included from RSpec::Language
Instance Method Summary collapse
Methods included from RSpec::SpecOnly
Instance Method Details
#on_block(node) ⇒ Object
64 65 66 67 68 69 70 71 72 |
# File 'lib/rubocop/cop/rspec/instance_variable.rb', line 64 def on_block(node) return unless spec_group?(node) ivar_usage(node) do |ivar, name| return if assignment_only? && !ivar_assigned?(node, name) add_offense(ivar, :expression, MESSAGE) end end |