Module: ChangeTracker
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/change_tracker/version.rb,
lib/change_tracker/app/change_tracker.rb,
lib/generators/change_tracker/install/install_generator.rb
Defined Under Namespace
Modules: Generators
Constant Summary collapse
- VERSION =
"0.1.1"
Instance Method Summary collapse
-
#find_changes ⇒ Object
before_save.
-
#save_changes ⇒ Object
after_save.
-
#save_destroyed_record ⇒ Object
before_destroy.
Instance Method Details
#find_changes ⇒ Object
before_save
11 12 13 14 15 16 |
# File 'lib/change_tracker/app/change_tracker.rb', line 11 def find_changes tracked_object = self change_type = tracked_object.new_record? ? :added_record : :changed_record @changes = Change.new(change_type: change_type, record_model: tracked_object.class.name) @changes.changed_data = tracked_object.changes if @changes.change_type == 'changed_record' end |
#save_changes ⇒ Object
after_save
19 20 21 22 23 24 |
# File 'lib/change_tracker/app/change_tracker.rb', line 19 def save_changes tracked_object = self @changes.record_id = tracked_object.id @changes.changed_data = tracked_object.attributes if @changes.change_type == 'added_record' @changes.save! end |
#save_destroyed_record ⇒ Object
before_destroy
27 28 29 30 31 32 33 |
# File 'lib/change_tracker/app/change_tracker.rb', line 27 def save_destroyed_record tracked_object = self @changes = Change.create!(change_type: :deleted_record, record_model: tracked_object.class.name, changed_data: tracked_object.attributes, record_id: tracked_object.id) end |