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
end
The Moderation
model added by the genenrator is used to access the moderations.
This gem adds 3 methods to your models.
moderate
moderated?
moderated_fields_for(assoc)
To list pending moderations, you can use the Moderation
model
Moderation.all
You can access the moderations for a specific object with
post = Post.last
post.moderations
A Moderation
instance has 4 methods:
moderation.data
returns a hash of the moderated attributesmoderation.data_display
returns a user-friendly hash to display the moderated attributesmoderation.preview
moderation.accept
modifies the moderated object with the specified attributes and saves itmoderation.discard
destroys 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