Имеется класс User.
class User
include Neo4j::ActiveNode
...
has_many :out, :friend, rel_class: Friend
...
end
Пользователи связываются через связь friend
class Friend
include Neo4j::ActiveRel
from_class User
to_class User
type 'friend'
end
Необходимо вытащить всех друзей друзей текущего пользователя.
Следующая строка: @user.friend(:f, :r, rel_length:2).pluck(:f) возвращает друзей текущего пользователя. А нужны друзья друзей. Причем вместо rel_length:2 можно написать любую пару ключ:значение. Хоть абракадабру. Он как будто игнорирует этот третий параметр.
@user.friend.friend(:f).where("f.user_id <> '#{@user.user_id}'").pluck(:f)
Пока только такое решение нашел, но мне кажется, что это не совсем оптимальное решение.