Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
This Ruby on Rails plugin provides an additional Errors object, referred to as warnings, to ActiveRecord objects. Unlike validations, soft validations are not tied in to an AR object's lifecycle and can be used to specify recommended states for data.
Branch: master
Pull request Compare This branch is even with juliamae:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
tasks
test
CHANGELOG
MIT-LICENSE
README
Rakefile
init.rb
install.rb
uninstall.rb

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
Something went wrong with that request. Please try again.