MongoMapper::Plugins::Sanitize¶ ↑
Tiny plugin for MongoMapper to sanitize strings before validation.
Requires¶ ↑
-
MongoMapper
-
Sanitize
Usage¶ ↑
Either load it into all models, or individual models:
# add to all models MongoMapper::Document.plugin(MongoMapper::Plugins::Sanitize) # add to a specific model plugin MongoMapper::Plugins::Sanitize
Once it’s loaded into a model, configure with ‘sanitize’
sanitize :list, :of, :keys
This will use the default Sanitize config, if you want to override then set the :config option:
# Use the built-in Sanitize::Config::RESTRICTED configuration sanitize :title, :config => Sanitize::Config::RESTRICTED # Use a custom configuration sanitize :description, :config => {:elements => ['a', 'span']}
The original text is stored as original_#{key}, for example:
class Item key :description, String sanitize :description end item = Item.create(:description => "some <b>text</b>") item.description => "some text" item.original_description => "some <b>text</b>"
IMPORTANT - calling sanitize sets up original_#{key} as a copy of the existing key if it exists If the key doesn’t yet exist, it will assume it’s a String field, so if you use something different then make sure to define it first.
You can disable this behaviour by setting :keep_original to false
sanitize :description, :keep_original => false
See the Sanitize Docs (github.com/rgrove/sanitize) for more details on the different configuration options.
Note on Patches/Pull Requests¶ ↑
-
Fork the project.
-
Make your feature addition or bug fix.
-
Add tests for it. This is important so I don’t break it in a future version unintentionally.
-
Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself in another branch so I can ignore when I pull)
-
Send me a pull request. Bonus points for topic branches.
Install¶ ↑
$ gem install mm-sanitize
Copyright¶ ↑
See LICENSE for details.