Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 3rd, 2012  |  syntax: None  |  size: 1.07 KB  |  hits: 9  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. module Ohm
  2.   # The following is an example usage of this plugin:
  3.   #
  4.   #   class Post < Ohm::Model
  5.   #     include Ohm::Callbacks
  6.   #
  7.   #   protected
  8.   #     def before_create
  9.   #       # sanitize the decimal values here
  10.   #     end
  11.   #
  12.   #     def before_save
  13.   #       # do something here
  14.   #     end
  15.   #
  16.   #     def after_create
  17.   #       # do twitter posting here
  18.   #     end
  19.   #
  20.   #     def after_save
  21.   #       # do something with the ids
  22.   #     end
  23.   #   end
  24.   module Callbacks
  25.     def save!
  26.       is_new = new?
  27.  
  28.       before_create if is_new
  29.       before_update if not is_new
  30.       before_save
  31.  
  32.       result = super
  33.  
  34.       after_create if is_new
  35.       after_update if not is_new
  36.       after_save
  37.  
  38.       return result
  39.     end
  40.  
  41.     def delete
  42.       before_delete
  43.       result = super
  44.       after_delete
  45.  
  46.       return result
  47.     end
  48.  
  49.   protected
  50.     def before_save
  51.     end
  52.  
  53.     def after_save
  54.     end
  55.  
  56.     def before_create
  57.     end
  58.  
  59.     def after_create
  60.     end
  61.  
  62.     def before_update
  63.     end
  64.  
  65.     def after_update
  66.     end
  67.  
  68.     def before_delete
  69.     end
  70.  
  71.     def after_delete
  72.     end
  73.   end
  74. end