Module: Mongoid::Touchable

Extended by:
Touchable
Included in:
Touchable
Defined in:
build/mongoid-8.1/lib/mongoid/touchable.rb

Defined Under Namespace

Modules: InstanceMethods

Instance Method Summary collapse

Instance Method Details

#define_touchable!(association) ⇒ Class

Add the association to the touchable associations if the touch option was provided.

Examples:

Add the touchable.

Model.define_touchable!(assoc)

Parameters:

  • association (Association)

    The association metadata.

Returns:

  • (Class)

    The model class.



79
80
81
82
83
84
85
86
87
# File 'build/mongoid-8.1/lib/mongoid/touchable.rb', line 79

def define_touchable!(association)
  name = association.name
  method_name = define_relation_touch_method(name, association)
  association.inverse_class.tap do |klass|
    klass.after_save method_name
    klass.after_destroy method_name
    klass.after_touch method_name
  end
end