class RuboCop::Cop::Performance::RedundantMerge::EachWithObjectInspector

‘each_with_object` call.
A utility class for checking the use of values within an

def eligible_receiver?

def eligible_receiver?
  receiver.respond_to?(:lvar_type?) && receiver.lvar_type?
end

def initialize(node, receiver)

def initialize(node, receiver)
  @node = node
  @receiver = unwind(receiver)
end

def second_argument

def second_argument
  parent = node.parent
  parent = parent.parent if parent.begin_type?
  @second_argument ||= each_with_object_node(parent)
end

def unwind(receiver)

def unwind(receiver)
  receiver, = *receiver while receiver.respond_to?(:send_type?) && receiver.send_type?
  receiver
end

def value_used?

def value_used?
  return false unless eligible_receiver? && second_argument
  receiver.loc.name.source == second_argument.loc.name.source
end