title: Only destroy depdendents (aka: Is "send :_run_destroy_callbacks" code smell?)
body: <p>I have implemented a safe destroy method for our User model since users can only be hard destroyed unless the user has surveys, otherwise, a soft destroy (by setting <code>deleted_at</code>) is done:</p>
  
  <pre><code>alias_method :original_destroy, :destroy
  
  def destroy
    if surveys.any?
      update_column :deleted_at, DateTime.now
      surveys.each { |s| s.anonymize }
      send :_run_destroy_callbacks
      @destroyed = true
      freeze
    else
      original_destroy
    end
  end
  </code></pre>
  
  <p>I'm not sure whether there's a better way to destroy all associationes with <code>dependent: destroy</code> than the <code>send :_run_destroy_callbacks</code> line above.</p>
  
  <p>Thanks for your hints!</p>