method
destroy
rails latest stable - Class:
ActiveRecord::Locking::Optimistic
destroy()private
No documentation available.
# File activerecord/lib/active_record/locking/optimistic.rb, line 102
def destroy #:nodoc:
return super unless locking_enabled?
destroy_associations
if persisted?
table = self.class.arel_table
lock_col = self.class.locking_column
predicate = table[self.class.primary_key].eq(id).
and(table[lock_col].eq(send(lock_col).to_i))
affected_rows = self.class.unscoped.where(predicate).delete_all
unless affected_rows == 1
raise ActiveRecord::StaleObjectError.new(self, "destroy")
end
end
@destroyed = true
freeze
end