profanity_filter!:foo,:bar#=> banned words will be replaced with @#=>$%
profanity_filter!:foo,:bar,:method=>'dictionary'#=> banned words will be replaced by value in config/dictionary.yml
profanity_filter!:foo,:bar,:method=>'vowels'#=> banned words will have their vowels replaced
profanity_filter!:foo,:bar,:method=>'hollow'#=> all letters except the first and last will be replaced
profanity_filter!:foo,:bar,:method=>'stars'#=> all letters will be replaced with *

Benchmarks

Inquiring minds can checkout the simple benchmarks I've included so you
can have an idea of what kind of performance to expect. I've included
some quick scenarios including strings of (100, 1000, 5000, 1000) words and
dictionaries of (100, 1000, 5000, 25000, 50000, 100000) words.

You can run the benchmarks via:

rubytest/benchmark/fu-fu_benchmark.rb

TODO

May break ProfanityFilter out on it's own

Clean up dictionary implementation and substitution (suboptimal and messy)

Move benchmarks into a rake task

Build out rdocs

Ability to supplement the profanity database (with a yaml outside of the
gem) via @seankibler

License

The Profanity Filter for Rails uses the MIT License. Please see the
MIT-LICENSE file.

Contributors

Created by Adam Bair (adam@intridea.com) of Intridea (www.intridea.com) in the open source
room at RailsConf 2008. Originally called Fu-fu: The Profanity Filter for
Rails.