CleanRoom
An attribute sanitizer (ruby 1.9) based on the sanitize gem by rgrove (https://github.com/rgrove/sanitize). Currently still dependant on active support, this requirement will be removed in the near future.
Installation
Add this line to your application's Gemfile:
gem 'clean_room'
And then execute:
$ bundle
Or install it yourself as:
$ gem install clean_room
Usage
CleanRoom accepts any attributes for which readers and writers are available. The default is to sanitize and not allow any html in the field. Other settings can be configured with "allow" (see below). Allow accepts:
- normal (or not set): no html
- strict: no html + no characters except a-zA-Z0-9 and spaces. You can pass 'character_class' to specify your own character class of allowed characters
- simple_html: allow the tags as by Sanitize::Config::BASIC
html: allow the tags as by Sanitize::Config::RELAXED
class SanitizedAttributes attr_accessor :normal, :strict, :very_strict, :simple_html, :html
sanitize_attribute :normal sanitize_attribute :strict, allow: :strict, character_class: "a-z" sanitize_attribute :simple_html, allow: :simple_html sanitize_attribute :html, allow: :html
end
Contributing
- Please fork it;
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
- Many thanks!