module Spira::Validations
Public Instance Methods
save(options={})
click to toggle source
The validation process on save can be skipped by passing validate: false
. The regular Base#save
method is replaced with this when the validations module is mixed in, which it is by default.
Calls superclass method
# File lib/spira/validations.rb, line 44 def save(options={}) perform_validations(options) ? super : false end
save!(options={})
click to toggle source
Attempts to save the record just like Base#save
but will raise a RecordInvalid
exception instead of returning false if the record is not valid.
Calls superclass method
# File lib/spira/validations.rb, line 50 def save!(options={}) perform_validations(options) ? super : raise(RecordInvalid.new(self)) end
valid?(context = nil)
click to toggle source
Runs all the validations within the specified context. Returns true if no errors are found, false otherwise.
If the argument is false (default is nil
), the context is set to :create
if new_record?
is true, and to :update
if it is not.
Validations
with no :on
option will run no matter the context. Validations
with some :on
option will only run in the specified context.
Calls superclass method
# File lib/spira/validations.rb, line 62 def valid?(context = nil) context ||= (new_record? ? :create : :update) output = super(context) errors.empty? && output end
Protected Instance Methods
perform_validations(options={})
click to toggle source
# File lib/spira/validations.rb, line 70 def perform_validations(options={}) perform_validation = options[:validate] != false perform_validation ? valid?(options[:context]) : true end