No commit activity in last 3 years
No release in over 3 years
Socialization allows any model to Follow and/or Like any other model. This is accomplished through a double polymorphic relationship on the Follow and Like models. But you don't need to know that since all the complexity is hidden from you.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
~> 4.0
>= 0
>= 0

Runtime

 Project Readme

Socialization-Cassandra

Socialization is a Ruby Gem that allows any ActiveRecord model to Follow, Like, 'Comment' and/or Share any other model. Cassandra is used as a data store.

Installation

Rails 3/4

Add the gem to the gemfile: gem "socialization-cassandra"

Run the generator: rails generate socialization -s

Run: rake socialization:migrate

Rails 2.3.x Support

This gem requires Rails 3 or better. Sorry!

Usage

Setup

Allow a model to be followed:

class Celebrity < ActiveRecord::Base
  ...
  acts_as_followable
  ...
end

Allow a model to be a follower:

class User < ActiveRecord::Base
  ...
  acts_as_follower
  ...
end

Allow a model to be liked:

class Movie < ActiveRecord::Base
  ...
  acts_as_likeable
  ...
end

Allow a model to like:

class User < ActiveRecord::Base
  ...
  acts_as_liker
  ...
end

acts_as_follower Methods

Follow something

user.follow!(celebrity)

Stop following

user.unfollow!(celebrity)

Toggle

user.toggle_follow!(celebrity)

Is following?

user.follows?(celebrity)

What items are you following (given that an Item model is followed)?

user.followees(Item)

acts_as_followable Methods

Find out if an objects follows

celebrity.followed_by?(user)

All followers

celebrity.followers(User)

acts_as_liker Methods

Like something

user.like!(movie)

Stop liking

user.unlike!(movie)

Toggle

user.toggle_like!(celebrity)

Likes?

user.likes?(movie)

acts_as_likeable Methods

Find out if an objects likes

movie.liked_by?(user)

All likers

movie.likers(User)

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don't break it in a future version unintentionally.
  • Send me a pull request. Bonus points for topic branches.

Copyright

Copyright (c) 2015-2016 Amrit Singh-- Released under the MIT license.