Sanitize-Rails - sanitize .. on Rails.

Installation

Gemfile:

gem 'sanitize-rails', :require => 'sanitize/rails'

Configuration

config/initializers/sanitizer.rb:

Sanitize::Rails.configure(
  :elements    => [ ... ],
  :attribiutes => { ... },
  ...
)

Usage

app/models/foo.rb:

sanitizes :field
sanitizes :some_other_field,  :on => :create
sanitizes :yet_another_field, :on => :save

ActionView sanitize helper is overriden to use the Sanitize gem - transparently.

Testing

Only Test::Unit for now - please write matchers and send a pull request :-)

test/test_helper:

Sanitize::Rails::TestHelpers.setup(self,
  :invalid => 'some <a>string',
  :valid   => 'some <a>string</a>'
)

your test:

assert_sanitizes(Model, :field, :some_other_field)

Compatibility

Tested with Rails 3.0.x under Ruby 1.8 and 1.9.

Have fun.