class RuboCop::Cop::Performance::FlatMap
def on_send(node)
def on_send(node) left, second_method, flatten_param = *node return unless FLATTEN.include?(second_method) flatten_level, = *flatten_param expression, = *left _array, first_method = *expression return unless first_method == :map || first_method == :collect message = MSG if cop_config['EnabledForFlattenWithoutParams'] && flatten_level.nil? message = MSG + FLATTEN_MULTIPLE_LEVELS else return unless flatten_level == 1 end range = Parser::Source::Range.new(node.loc.expression.source_buffer, expression.loc.selector.begin_pos, node.loc.selector.end_pos) add_offense(node, range, format(message, first_method, second_method)) end