Installation

Add this line to your Gemfile:

gem 'blacklist_validator'

Then run:

bundle install

Usage

Add the following to one of your models:

validates :name, blacklist: true

You can also modify the default message ("is blacklisted") if validation fails:

validates :name, blacklist: { message: "is not part of the whitelist" }

Blacklist file

You can create a blacklist.yml file in the config directory of your Rails application if you need to overload the one used by this gem.

I18n

If you use I18n, the default key to translate is :blacklisted. So if you add to your User model:

validates :name, blacklist: true

You can translate (or overload) the default message via for e.g. using activerecord (in english): "en.activerecord.errors.models.user.attributes.name.blacklisted"

Compatibility

Ruby 1.8 is not supported.

Tests

cd test
ruby blacklist_validator_test.rb