Every repository with this icon (
Every repository with this icon (
tree ba82715f6b7135a25136c068d7677de4256c3951
parent 4a9a6984921fdd6bcee6d4d95424953316be02fa
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Sat May 10 18:51:09 -0700 2008 | [rmm5t] |
| |
README.rdoc | Fri Jun 27 11:09:41 -0700 2008 | [rmm5t] |
| |
Rakefile | Fri Jun 27 11:09:41 -0700 2008 | [rmm5t] |
| |
init.rb | Sat Sep 22 20:18:31 -0700 2007 | [rmm5t] |
| |
lib/ | Tue May 20 14:52:48 -0700 2008 | [rmm5t] |
| |
test/ | Sat Sep 22 20:18:31 -0700 2007 | [rmm5t] |
StripAttributes
StripAttributes is a Rails plugin that automatically strips all ActiveRecord model attributes of leading and trailing whitespace before validation. If the attribute is blank, it strips the value to nil.
It works by adding a before_validation hook to the record. By default, all attributes are stripped of whitespace, but :only and :except options can be used to limit which attributes are stripped. Both options accept a single attribute (:only => :field) or arrays of attributes (:except => [:field1, :field2, :field3]).
Examples
class DrunkPokerPlayer < ActiveRecord::Base
strip_attributes!
end
class SoberPokerPlayer < ActiveRecord::Base
strip_attributes! :except => :boxers
end
class ConservativePokerPlayer < ActiveRecord::Base
strip_attributes! :only => [:shoe, :sock, :glove]
end
Installation
Option 1. Use the standard Rails plugin install (assuming Rails 2.1).
./script/plugin install git://github.com/rmm5t/strip_attributes.git
Option 2. Use git submodules
git submodule add git://github.com/rmm5t/strip_attributes.git vendor/plugins/strip_attributes
Option 3. Use braid[http://github.com/evilchelu/braid/tree/master] (assuming you’re using git)
braid add --rails_plugin git://github.com/rmm5t/strip_attributes.git git merge braid/track
Other
If you want to use this outside of Rails, extend StripAttributes in your ActiveRecord model after putting strip_attributes in your $LOAD_PATH:
require 'strip_attributes'
class SomeModel < ActiveRecord::Base
extend StripAttributes
strip_attributes!
end
Support
The StripAttributes homepage is http://stripattributes.rubyforge.org. You can find the StripAttributes RubyForge progject page at: http://rubyforge.org/projects/stripattributes
StripAttributes source is hosted on GitHub[http://github.com/]: http://github.com/rmm5t/strip_attributes
Feel free to submit suggestions or feature requests. If you send a patch, remember to update the corresponding unit tests. In fact, I prefer new features to be submitted in the form of new unit tests.
Credits
The idea was triggered by the information at http://wiki.rubyonrails.org/rails/pages/HowToStripWhitespaceFromModelFields but was modified from the original to include more idiomatic ruby and rails support.
License
Copyright © 2007-2008 Ryan McGeary released under the MIT license http://en.wikipedia.org/wiki/MIT_License




