class RuboCop::Cop::RSpec::AroundBlock
Checks that around blocks actually run the test.
@example
# bad around do some_method end around do |test| some_method end # good around do |test| some_method test.call end around do |test| some_method test.run end
Constants
- MSG_NO_ARG
- MSG_UNUSED_ARG
Public Instance Methods
on_block(node)
click to toggle source
# File lib/rubocop/cop/rspec/around_block.rb, line 41 def on_block(node) hook(node) do |(example_proxy)| if example_proxy.nil? add_no_arg_offense(node) else check_for_unused_proxy(node, example_proxy) end end end
Private Instance Methods
add_no_arg_offense(node)
click to toggle source
# File lib/rubocop/cop/rspec/around_block.rb, line 53 def add_no_arg_offense(node) add_offense(node, location: :expression, message: MSG_NO_ARG) end
check_for_unused_proxy(block, proxy)
click to toggle source
# File lib/rubocop/cop/rspec/around_block.rb, line 57 def check_for_unused_proxy(block, proxy) name, = *proxy find_arg_usage(block) do |usage| return if usage.include?(s(:lvar, name)) end add_offense( proxy, location: :expression, message: format(MSG_UNUSED_ARG, arg: name) ) end