Method: M4DBI::Model#delete
- Defined in:
- lib/m4dbi/model.rb
#delete ⇒ Object
Returns true iff the record and only the record was successfully deleted.
456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 |
# File 'lib/m4dbi/model.rb', line 456 def delete if self.class.hooks[:active] self.class.hooks[:before_delete].each do |block| self.class.hooks[:active] = false block.yield self self.class.hooks[:active] = true end end st = prepare("DELETE FROM #{table} WHERE #{pk_clause}") num_deleted = st.execute( *pk_values ).affected_count st.finish if num_deleted != 1 false else if self.class.hooks[:active] self.class.hooks[:after_delete].each do |block| self.class.hooks[:active] = false block.yield self self.class.hooks[:active] = true end end true end end |