biggest_table = doc.xpath('//table').max_by do |table|
table.xpath('.//tr').length
end
Или, если есть связь, возможно, вам нужен список всех таблиц с наибольшим количеством строк:
# Hash mapping number of rows to array of table nodes
tables = doc.xpath('//table').group_by{ |t| t.xpath('.//tr').length }
# Array of all (possibly only 1) tables with the most rows
biggest_n = tables[table.keys.max]