Module: ActiveFedora::Validations
- Extended by:
- ActiveSupport::Concern
- Includes:
- ActiveModel::Validations
- Defined in:
- lib/active_fedora/validations.rb
Overview
Active Fedora Validations, adapted from Active Record
Active Fedora includes the majority of its validations from ActiveModel::Validations all of which accept the :on argument to define the context where the validations are active. Active Record will always supply either the context of :create or :update dependent on whether the model is a new_record?.
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary (collapse)
-
- (Object) save(options = {})
The validation process on save can be skipped by passing :validate => false.
-
- (Object) save!(options = {})
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.
-
- (Boolean) valid?(context = nil)
Runs all the validations within the specified context.
Instance Method Details
- (Object) save(options = {})
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.
49 50 51 |
# File 'lib/active_fedora/validations.rb', line 49 def save(={}) perform_validations() ? super : false end |
- (Object) save!(options = {})
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.
55 56 57 |
# File 'lib/active_fedora/validations.rb', line 55 def save!(={}) perform_validations() ? super : raise(RecordInvalid.new(self)) end |
- (Boolean) valid?(context = nil)
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.
67 68 69 70 71 |
# File 'lib/active_fedora/validations.rb', line 67 def valid?(context = nil) context ||= (new_record? ? :create : :update) output = super(context) errors.empty? && output end |