Module: RubyHaze::Persisted

Defined in:
lib/rubyhaze/persisted/model.rb,
lib/rubyhaze/persisted/shadow_class_generator.rb

Defined Under Namespace

Modules: ClassMethods, InstanceMethods, Shadow Classes: Register

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/rubyhaze/persisted/model.rb', line 27

def self.included(base)
  return unless RubyHaze::Persisted::Register.add(base)

  base.send :extend, ClassMethods
  base.send :extend, ActiveModel::Naming
  base.send :extend, ActiveModel::Translation
  base.send :extend, ActiveModel::Callbacks

  base.send :include, ActiveModel::AttributeMethods
  base.send :include, ActiveModel::Conversion
  base.send :include, ActiveModel::Dirty
  base.send :include, ActiveModel::Serialization
  base.send :include, ActiveModel::Serializers::JSON
  base.send :include, ActiveModel::Serializers::Xml
  base.send :include, ActiveModel::Validations
  base.send :include, InstanceMethods

  base.attribute_method_suffix '', '=', '?'
  base.define_model_callbacks :create, :update, :load, :destroy
end