Module: ImmosquareActiveRecordChangeTracker::ClassMethods

Defined in:
lib/immosquare-active-record-change-tracker.rb

Instance Method Summary collapse

Instance Method Details

#track_active_record_changes(options = {}, &modifier_block) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/immosquare-active-record-change-tracker.rb', line 12

def track_active_record_changes(options = {}, &modifier_block)
  ##============================================================##
  ## Inclut les méthodes d'instance nécessaires
  ##============================================================##
  include(ImmosquareActiveRecordChangeTracker::InstanceMethods)

  ##============================================================##
  ## Stocker les options dans un attribut de classe
  ##============================================================##
  class_attribute(:history_options)
  self.history_options = options

  ##============================================================##
  ## Stocker le bloc du modificateur s'il est fourni
  ##============================================================##
  history_options[:modifier_block] = modifier_block if block_given?

  ##============================================================##
  ## Configure le callback after_save
  ##============================================================##
  after_save(:save_change_history)
  after_destroy(:delete_change_history)
end