Skip to content

Gem to moderate fields of a model or its associations for Rails and ActiveRecord

License

Notifications You must be signed in to change notification settings

gdott9/the_moderator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TheModerator

Build Status

Moderate fields before their insertion in the database by serializing and saving them into a separate 'moderations' table.

Installation

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

Usage

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.

Moderate attributes

This gem adds 3 methods to your models.

  • moderate
  • moderated?
  • moderated_fields_for(assoc)

Manage moderations

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 attributes
  • moderation.data_display returns a user-friendly hash to display the moderated attributes
  • moderation.preview
  • moderation.accept modifies the moderated object with the specified attributes and saves it
  • moderation.discard destroys the moderation

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

About

Gem to moderate fields of a model or its associations for Rails and ActiveRecord

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages