Module: AWS::Record::AbstractBase

Defined in:
lib/simple_callbacks/abstract_base.rb

Defined Under Namespace

Modules: InstanceMethods

Class Method Summary collapse

Class Method Details

.extended(base) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/simple_callbacks/abstract_base.rb', line 9

def self.extended base
  # This first bit is straight from AWS::Record::AbstractBase
  base.send(:extend, ClassMethods)
  base.send(:include, InstanceMethods)
  base.send(:include, DirtyTracking)
  base.send(:extend, Validations)

  # these 3 modules are for rails 3+ active model compatability
  base.send(:extend, Naming)
  base.send(:include, Naming)
  base.send(:include, Conversion)

  # This is the new stuff.
  # These modules provide the callback framework
  base.send(:include,::ActiveSupport::Callbacks)
  base.send(:extend,::ActiveModel::Callbacks)
  base.send(:include,::ActiveModel::Validations::Callbacks)

  # set up some callbacks
  base.send(:define_model_callbacks, :save, :create, :update, :destroy)
end