mongoid-likes¶ ↑
Forked form github.com/diowa/mongoid-likeable.git
This Gem extends your Mongoid user model to have like and dislike abilities to any likeable models
How to install¶ ↑
Install the gem
$ gem install mongoid-likes
or add the gem to your Gemfile
gem 'mongoid-likes'
How to use¶ ↑
Include the Mongoid::Likeable
module into the models you want to like
Include the Mongoid::Liker
module into the user model
class User include Mongoid::Document include Mongoid::Liker end
class Post include Mongoid::Document include Mongoid::Likeable end
Now you can like
or dislike
your posts
.
@user.like @post # user likes a post @user.unlike @post # user unlikes a post liked before @user.dislike @post # user dislikes a post @user.undislike @post # user undislike a post disliked before
Note that a likeable resource can not be liked and dislied by the same user at the same time
@user.like @post_one #=> user likes a post @user.dislike @post_one #=> will return false
@user.dislike @post_one #=> user dislikes a post @user.like @post_one #=> will return false
To get how many likes or dislikes a resource have
@post.likes #=> number of likes current post have @post.dislikes #=> number of dislikes current post have
To check if user liked of disliked a resource
@post.liked_by? @user @user.liked? @post @post.disliked_by? @user @user.disliked? @user
To get a resource’s likers
and dislikers
@post.likers #=> results in Mongoid::Criteria @post.lkiers.where(....) @post.dislikers #=> results in Mongoid::Criteria @post.dislkiers.where(....)
To get specified type
of objects user liked or disliked
@user.all_liked :post #=> results in Mongoid::Criteria @user.all_liked :blabla #=> return nil, since model 'blabla' does not exist @user.all_disliked :post #=> results in Mongoid::Criteria
Contributing¶ ↑
any issue reports and conributions are welcome
Authors¶ ↑
Copyright and license¶ ↑
Copyright 2016 dingxizheng under MIT LICENSE.