/acts_as_rateable

in plans fully support and use all features rails 3 (original : https://github.com/leviathan/acts_as_rateable)

Primary LanguageRubyMIT LicenseMIT

Acts As Rateable

Acts_as_rateable is a plugin released under the MIT license. It makes activerecord models rateable through a polymorphic association and optionally logs which user rated which model. In this case, one user can rate an object once. Used on cotcot.hu for article rating, sponsored quizzes, etc.

A ‘free text’ attribute has been added to the pure numerical rating. The ‘free text’ serves as the user’s rating description or comment.

Install

You can easily install gem by adding this line into your Gemfile:

gem "acts_as_rateable", :git => "git://github.com/anton-zaytsev/acts_as_rateable.git"

After you install Acts As Rateable and add it to your Gemfile, you need to run the generator:

rails generate acts_as_rateable

The generator will add new migration, that’s why the next is run migration:

rake db:migrate

Now insert ‘acts_as_rateable’ into your model, and don’t forget restart your application.

class Post < ActiveRecord::Base
  acts_as_rateable
end

Now you can rate it ( 1-# )or calculate the average rating.

# rate for selected post
@post.rate_it( 4, current_user ) #=> true || false

# average rating of selected post
@post.average_rating #=> 4.0
@post.average_rating_round #=> 4
@post.average_rating_percent #=> 80

# check if selected post rated by user
@post.rated_by?( current_user ) #=> instance of rating model || false

@post.parse_ratings(:json) #=> JSON formatted string containing the post's ratings

# find posts with rating '4'
Post.find_average_of( 4 ) #=> array

See lib/acts_as_rateable.rb for further details!

# Notes

Jinzhu - generator is compatible with rails 3.

Copyright © 2011 Anton Zaytsev, antonzaytsev.com , released under the MIT license

Copyright © 2007-2010 Ferenc Fekete, feketeferenc.hu , released under the MIT license

Copyright © 2011 Joerg Polakowski, mobile-melting.de , released under the MIT license