"Znajomi", Relationship GEM

Jest jakiś gem który ułatwi życie w utworzeniu relacji między User’ami, czy będę musiał sam główkować jak to rozwiązać :smiley:
Obecnie mam relacje w stylu kto kogo “zaprosił”, mogę porównywać User’ów i ten sposób wyciągać czy obydwa User’y się zaprosili.

Przejrzyj ruby-toolbox – są tam takie gemy jak social stream i amico – nie wiem do końca czego potrzebujesz, ale możliwe, że jest to overkill, i lepiej samemu sobie coś takiego napisać. A jeśli potrzebujesz czegoś na prawdę hardcorowego, zainteresuj się neo4j.

Chodzi mi oto że User1 mógł oglądać strony Usera2, jeśli będzie zgoda z obydwu strony. Czyli jak de facto jak będą znajomymi między sobą. A tak ma iść info że dupa, nie masz praw do tej strony.

Social na niskim poziomie.

Czyli w/w zastosowania to overkill. Potrzebujesz na poziomie kontrolera:

raise Unauthorized unless current_user.friend_of?(user)

i modelu

def friend_of?(user) friendships.where(friend_id: user.id).exists? end
– potraktuj to jako proof of concept. Trzeba zmienić klasę wyjątku(lub nie rzucać wyjątkiem i rozwiązać to inaczej), dodać potwierdzanie znajomości itp.
W każdym razie zdecydowanie za mało kodu na to, żeby używać do tego gema

Dzięki za Odp. Przemyśle jak to rozwalić i napisze sam :slight_smile: