module DatabaseValidations::Validations
Attributes
_database_validations_fallback[RW]
Public Instance Methods
create_or_update(*args, &block)
click to toggle source
Calls superclass method
# File lib/database_validations/lib/validations.rb, line 16 def create_or_update(*args, &block) options = args.extract_options! if options[:validate] == false super else rescue_from_database_exceptions { super } end end
valid?(context = nil)
click to toggle source
Calls superclass method
# File lib/database_validations/lib/validations.rb, line 11 def valid?(context = nil) self._database_validations_fallback = true super(context) end
Private Instance Methods
perform_validations(options = {})
click to toggle source
# File lib/database_validations/lib/validations.rb, line 37 def perform_validations(options = {}) options[:validate] == false || valid_without_database_validations?(options[:context]) end
rescue_from_database_exceptions(&block)
click to toggle source
# File lib/database_validations/lib/validations.rb, line 28 def rescue_from_database_exceptions(&block) self._database_validations_fallback = false self.class.connection.transaction(requires_new: true, &block) rescue ActiveRecord::InvalidForeignKey, ActiveRecord::RecordNotUnique => e raise e unless Rescuer.handled?(self, e) raise ActiveRecord::RecordInvalid, self end