0.0
No commit activity in last 3 years
No release in over 3 years
Tiny plugin for MongoMapper to sanitize strings before validation.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0

Runtime

 Project Readme

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

See LICENSE for details.