the_moderator/README.md

74 lines
1.7 KiB
Markdown
Raw Normal View History

2013-11-25 10:35:53 +01:00
# TheModerator
2014-09-23 17:46:46 +02:00
[![Build Status](https://travis-ci.org/gdott9/the_moderator.svg?branch=master)](https://travis-ci.org/gdott9/the_moderator)
2014-08-11 09:16:57 +02:00
Moderate fields before their insertion in the database by serializing and saving them into a separate 'moderations' table.
2013-11-25 10:35:53 +01:00
## 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
2014-08-11 09:16:57 +02:00
Then use the generator for the migration and the basic `Moderation` model:
$ rails generate the_moderator:install
2013-11-25 10:35:53 +01:00
## Usage
2014-08-11 09:16:57 +02:00
To use `TheModerator`, you need to include `TheModerator::Model` in the models you want to moderate.
```ruby
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
```ruby
Moderation.all
```
You can access the moderations for a specific object with
```ruby
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
2013-11-25 10:35:53 +01:00
## 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