class ActiveRecord::Base

Public Instance Methods

create_or_update() click to toggle source
# File lib/active_record/extend_base.rb, line 9
def create_or_update
  original_create_or_update
rescue ActiveRecord::RecordNotUnique => e
  uniqueness_via_db_validator(e)
  @original_validation_error =
    ActiveRecord::RecordNotUnique.new(self.errors.full_messages.first)
  false
end
Also aliased as: original_create_or_update
original_create_or_update()
Alias for: create_or_update
original_save!(*)
Alias for: save!
save!(*) click to toggle source
# File lib/active_record/extend_base.rb, line 18
def save!(*)
  original_save!
rescue ActiveRecord::RecordNotSaved => e
  raise(@original_validation_error) if @original_validation_error
  raise e
end
Also aliased as: original_save!

Private Instance Methods

uniqueness_via_db_validator(exception) click to toggle source
# File lib/active_record/extend_base.rb, line 27
def uniqueness_via_db_validator(exception)
  ActiveRecordUniquenessViaDb::Validator.validate(
    ActiveRecordUniquenessViaDb::Adapter.for(self.class.connection_config[:adapter]),
    self,
    exception
  )
end