# File lib/arel/algebra/relations/operations/join.rb, line 60 def eval result = [] relation1.call.each do |row1| relation2.call.each do |row2| combined_row = row1.combine(row2, self) if predicates.all? { |p| p.eval(combined_row) } result << combined_row end end end result end