-
Notifications
You must be signed in to change notification settings - Fork 0
Home
- Home – Summary and Installation instructions
- Model Usage – How to include blacklist validation in your model
- Blacklist Syntax – How to setup your blacklist yaml files, with the various options
- Programmatic Changes – Changing your blacklists programmatically
validates_blacklist is a Ruby on Rails gem that allows per-model blacklisting at the attribute level, by maintaining yaml lists of disallowed content. More simply put, if you don’t want to allow new users to give themselves usernames like ‘admin’, ‘root’, or ‘staff’, you can do this with validates_blacklist without uggifying your models with what is essentially configuration data.
Since Rails 2.1, this has gotten really easy. In environment.rb:
# config/environment.rb
config.gem 'bellmyer-validates_blacklist', :lib => 'validates_blacklist',
:source => "http://gems.github.com'
Followed by a couple of rake tasks on the command line:
rake gems:install
rake gems:unpack
Now update your model with the appropriate code:
# app/models/user.rb
class User < ActiveRecord::Base
validates_blacklist
end
Now generate blacklists for your existing models:
script/generate blacklists
Generating blacklists will only create blacklist files for new models, never overwrite existing blacklist files. Feel free to run it every time you add models to your app. Finally, add some blacklist data:
# config/blacklists/user_blacklist.yml
name:
- /admin/
- root
- staff