geocode before_save callback
halt execution if geocoder fails
mark record as deleted and return false to halt execution of destroy
after_destroy cleanup
serialize preferences after_initialize
use AR#store to store serialized hash and accessors to remove hash key interaciton
Callback Class
wrap Auditor code into an AR::Base class method
:
add file path to callback class
AR Calculation Methods
Single Inheritance bad example
Break class Timesheet into four classes to avoid conditional in code
add comment to add 'type' column to activate STI
#inheritance_column
polymorphic association:
Use references: :commentable, polymorphic: true