Moderate fields before their insertion in the database by serializing and saving them into a separate 'moderations' table.
Add this line to your application's Gemfile:
gem 'the_moderator'
And then execute:
$ bundle
Or install it yourself as:
$ gem install the_moderator
Then use the generator for the migration and the basic Moderation model:
$ rails generate the_moderator:install
To use TheModerator, you need to include TheModerator::Model in the models you want to moderate.
class Article
include TheModerator::Model
endThe Moderation model added by the genenrator is used to access the moderations.
This gem adds 3 methods to your models.
moderatemoderated?moderated_fields_for(assoc)
To list pending moderations, you can use the Moderation model
Moderation.allYou can access the moderations for a specific object with
post = Post.last
post.moderationsA Moderation instance has 4 methods:
moderation.datareturns a hash of the moderated attributesmoderation.data_displayreturns a user-friendly hash to display the moderated attributesmoderation.previewmoderation.acceptmodifies the moderated object with the specified attributes and saves itmoderation.discarddestroys the moderation
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request