Я использую драгоценный камень «контакты» в рельсах, чтобы получить контакты пользователей из своего почтового приложения. Возвращает контакты вот так:
["person name", "personemail@example.com"], ["person name", "personemail@example.com"], ["person name", "personemail@example.com"] etc...
Я хочу сравнить этот список с пользователями, которые уже зарегистрировались для моего сайта
Users.find (: все) возвращает:
[#<User id: 11, login: "examplelogin", email: "example@example.com">, #<User id: 12, login: "examplelogin", email: "example@example.com">, etc... ]
Как лучше всего сравнивать электронные письма с контактами Gmail с электронными письмами пользователей и отображать только совпадающие?
Я думал что-то вроде:
@contacts = Contacts::Gmail[params[:from]].new(params[:login], params[:password]).contacts
@contacts.each do |c|
@email = c[1]
@user = Users.find_by_email(@email)
end
Который предположительно вернет пользователей только там, где было совпадение. Я чувствую, что должен быть лучший способ сделать это, который я не рассматриваю. Есть предложения?