lib/rubocop/cop/style/lambda.rb in rubocop-0.45.0 vs lib/rubocop/cop/style/lambda.rb in rubocop-0.46.0

- old
+ new

@@ -68,34 +68,24 @@ literal: { single_line: 'lambda', multiline: 'lambda' }, line_count_dependent: { single_line: 'lambda', multiline: '->' } } }.freeze - TARGET = s(:send, nil, :lambda) + def_node_matcher :lambda_node?, '(block $(send nil :lambda) ...)' def on_block(node) - # We're looking for - # (block - # (send nil :lambda) - # ...) - block_method, _args, = *node + lambda_node?(node) do |block_method| + selector = block_method.source - return unless block_method == TARGET + return unless offending_selector?(node, selector) - check(node) + add_offense(node, + block_method.source_range, + message(node, selector)) + end end private - - def check(node) - block_method, _args, = *node - - selector = block_method.source - - return unless offending_selector?(node, selector) - - add_offense(node, block_method.source_range, message(node, selector)) - end def offending_selector?(node, selector) lines = node.multiline? ? :multiline : :single_line selector == OFFENDING_SELECTORS[:style][style][lines]