juliamae / soft_validations
- Source
- Commits
- Network (1)
- Issues (0)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
| name | age | message | |
|---|---|---|---|
| |
CHANGELOG | Fri Jan 18 14:38:12 -0800 2008 | |
| |
MIT-LICENSE | Fri Jan 18 10:14:49 -0800 2008 | |
| |
README | Fri Jan 18 13:00:32 -0800 2008 | |
| |
Rakefile | Fri Jan 18 10:14:49 -0800 2008 | |
| |
init.rb | Fri Jan 18 13:00:32 -0800 2008 | |
| |
install.rb | Fri Jan 18 10:14:49 -0800 2008 | |
| |
lib/ | Mon Jun 16 16:30:50 -0700 2008 | |
| |
tasks/ | Fri Jan 18 10:14:49 -0800 2008 | |
| |
test/ | Mon Jun 16 16:30:50 -0700 2008 | |
| |
uninstall.rb | Fri Jan 18 10:14:49 -0800 2008 |
README
SoftValidations
===============
This plugin provides an additional Errors object, referred to as warnings, to ActiveRecord objects. The warnings object
is not tied in to a model's life cycle. Thus, an ActiveRecord object can be saved while still having messages in its
warnings. This might be useful for sites that would want to keep track of recommended fields for users to complete, or
sites with large amounts of erroneous imported data which might benefit from suspending some validations for a little
while.
Example
=======
Use SoftValidations::Validation#soft_validation to add a descriptive declaration of an ActiveRecord object's desired
state in order to be considered complete. The methods or block passed to soft_validate should add a message to the
class's warning collection.
class Employee < ActiveRecord::Base
soft_validate :should_have_first_name
protected
def should_have_first_name
warnings.add(:first_name, "shouldn't be blank") unless attribute_present?(:first_name)
end
end
To generate warnings, you should first call complete?
>> employee = Employee.new
>> employee.complete?
=> false
>> employee.warnings.on(:first_name)
=> "shouldn't be blank"
Copyright (c) 2008 Julia West, released under the MIT license
