Sha256: eb9ec5b0c4faa8ab781f1ba1ca9e36f521a55003d2ad902efae289d07015e719

Contents?: true

Size: 1.7 KB

Versions: 1

Compression:

Stored size: 1.7 KB

Contents

# TheModerator

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.

```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

## 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

## License

TheModerator is released under AGPLv3 license. Copyright (c) 2013 La Fourmi Immo

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
the_moderator-0.1.0 README.md