Sha256: bd089dab16b9243d75d90bda97ba5c54920a0020581578146ed91fd928e84e76

Contents?: true

Size: 737 Bytes

Versions: 2

Compression:

Stored size: 737 Bytes

Contents

module Related
  module Follower
    def follow!(user)
      Related::Relationship.create(:follow, self, user)
    end

    def unfollow!(user)
      self.following.relationships.each do |rel|
        if rel.end_node_id == user.id
          rel.destroy
        end
      end
    end

    def followers
      self.incoming(:follow)
    end

    def following
      self.outgoing(:follow)
    end

    def friends
      self.followers.intersect(self.following)
    end

    def followed_by?(user)
      self.followers.include?(user)
    end

    def following?(user)
      self.following.include?(user)
    end

    def followers_count
      self.followers.size
    end

    def following_count
      self.following.size
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
related-0.2.1 lib/related/follower.rb
related-0.2 lib/related/follower.rb