Если у драгоценного камня Twitter нет способа извлечь @ упоминания из одного твита, вы можете просто получить их с помощью чего-то вроде
"haha @foo @bar sdasda".split.select { |t| t.start_with? '@' } #=> ["@foo", "@bar"]
Отобразите на карте все твиты пользователя, получите массив упоминаний и затем подсчитайте их.
Изменить, чтобы ответить на вопрос из вашего комментария:
>> tweets = ["haha @foo @bar sdasda", "lalal @foo", "@bar @foo"] #=> ["haha @foo @bar sdasda", "lalal @foo", "@bar @foo"]
>> tweets.map do |t|
>> t.split.select { |t| t.start_with? '@' }
>> end.flatten.group_by { |e| e }.values.max_by(&:size).first #=> "@foo"
Так что, в основном, вы map
просматриваете все твиты, извлекая упоминания @. Тогда вы join
соберете все массивы вместе и найдете самый распространенный элемент.