Retorna um hash com o valor do elemento como uma chave e sua contagem
a = [1, 2, 3, 2, 5, 6, 7, 5, 5]
a.each_with_object(Hash.new(0)) { |o, h| h[o] += 1 }
# => {1=>1, 2=>2, 3=>1, 5=>3, 6=>1, 7=>1}
Para filtrar o resultado com um certo limite, adicione …
.map{|k,v| k if v >= 2}.compact
# => [2, 5]