aboutsummaryrefslogtreecommitdiffstats
path: root/lib/strip_attributes/README.rdoc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/strip_attributes/README.rdoc')
-rw-r--r--lib/strip_attributes/README.rdoc77
1 files changed, 77 insertions, 0 deletions
diff --git a/lib/strip_attributes/README.rdoc b/lib/strip_attributes/README.rdoc
new file mode 100644
index 000000000..bd55c0c1c
--- /dev/null
+++ b/lib/strip_attributes/README.rdoc
@@ -0,0 +1,77 @@
+== 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 <tt>:only</tt> and <tt>:except</tt>
+options can be used to limit which attributes are stripped. Both options accept
+a single attribute (<tt>:only => :field</tt>) or arrays of attributes (<tt>:except =>
+[:field1, :field2, :field3]</tt>).
+
+=== 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 <tt>$LOAD_PATH</tt>:
+
+ 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 (c) 2007-2008 Ryan McGeary released under the MIT license
+http://en.wikipedia.org/wiki/MIT_License \ No newline at end of file