Acts as Recommended
A simple rails 3 engine to add recommendation functionallity to your application
Installation
Add to your Gemfile
gem 'acts_as_recommended'
And just run
bundle
Usage
First thing we need is the recommendation model himself and we have a generator that creates the model’s tables
rails g acts_as_recommended:tables
After that we can add the required fields for our models with another generator
rails g acts_as_recommended:recommendations_for Post
This will add a migration adding the required fields to add recommendations to a certain model.
Then all we simply add this line to our desired model
acts_as_recommended
Now, we can run the migrations and we can already recommend whatever we want!
post = Post.first
bob = User.first
joe = User.last
mary = User.find(100)
post.recommend!( true, bob )
post.recommend!( 0, joe )
post.recommend!( true, mary )
# good minus bad recommendations
post.recommendations # 1
post.recommendations_count # 3
post.good_recommendations # 2
post.bad_recommendations # 1
post.good_recommendations_percent # 66.67
# pass a format optionally
post.bad_recommendations_percent( '%.1f' ) # 33.3
# check if user recommended
post.recommended_by?( bob ) # true
post.recommended_by?( mary ) # true
# get user's recommendation
post.get_recommendation_of( bob ) # true
post.get_recommendation_of( mary ) # false
Note: users can only recommend once, a second recommendation will replace the latter
Customization
By default the recommendation must be done by a User model you can customize that with a simple initializer like config/initializers/recommendations.rb
ActsAsRecommended.owner_model = :admin
Contribution
Want to contribute? Fork, make it, ask for pull request! Found an issue? Use the issues tracker!
TODO
Create a simple controller to create/alter recommendations and generators for customization!
Author
Created and mantained by Luiz Felipe Garcia Pereira aka href="http://github.com/Draiken">