class Rubocop::Cop::Style::Lambda
anonymous functions.
anonymous functions and uses of the 1.9 lambda syntax for multi-line
This cop checks for uses of the pre 1.9 lambda syntax for one-line
def lambda_length(block_node)
def lambda_length(block_node) start_line = block_node.loc.begin.line end_line = block_node.loc.end.line end_line - start_line end
def on_block(node)
def on_block(node) # We're looking for # (block # (send nil :lambda) # ...) block_method, = *node if block_method == TARGET selector = block_method.loc.selector.source lambda_length = lambda_length(node) if selector != '->' && lambda_length == 0 convention(block_method, :expression, SINGLE_MSG) elsif selector == '->' && lambda_length > 0 convention(block_method, :expression, MULTI_MSG) end end end