immosquare-active-record-change-tracker 0.1.2 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bdf4dad2fc3d9058dad099ef5dd9fffff4a668a4d53ba4fa883ec646c5208c62
4
- data.tar.gz: f395ee20c35136b578b73251de92ec388d389e3cc3f4cd3ee6147936645fa385
3
+ metadata.gz: 277ddb50fbedfc0569e1f7e4a61d54252df1ef5402c398eee5dfb0bd469d90a9
4
+ data.tar.gz: 81ba5ed9aae9a90c05a9be743cf1adf6f3cf027ac4859275f6a650678dc8a500
5
5
  SHA512:
6
- metadata.gz: 5bebb9b4525197085eceb6aab6d3de99d039ed77223a8fb98a3224ddca314c626134688b886e91d8e8445574ef67f2a50add1339adafac2e34582493655fd48a
7
- data.tar.gz: 89aa7f67896f3a7ae5b05268786b5fa6e79169223bbc06165829df8e65259827ad5f4cb4b3d2e9966e2f2582eb6ab786c7d7cc6800b5f6fba73d7ea3e80549f9
6
+ metadata.gz: b82d2dcd49840b346f1550e5f80b552c52111fdcf6c08ba8f5234d0814ff66bb3ad1763cd2c9226282b26d34f19a3ff36245e7ce0424cebbc8a0aa342edd9c2a
7
+ data.tar.gz: af57bca752c1092ae5f346e6f3c6a2189166780e2fa9efaae441d318152e90a57fb38906994b225956050a1863b7afab19686e7e7eee957bb12c72250382eb91
@@ -1,3 +1,3 @@
1
1
  module ImmosquareActiveRecordChangeTracker
2
- VERSION = "0.1.2".freeze
2
+ VERSION = "0.1.4".freeze
3
3
  end
@@ -13,7 +13,7 @@ module ImmosquareActiveRecordChangeTracker
13
13
  ## Can be improved with other gems like paranoia
14
14
  ##============================================================##
15
15
  def kept_in_db
16
- respond_to?(:paranoia_column)
16
+ paranoid?
17
17
  end
18
18
 
19
19
  def track_active_record_changes(options = {}, &modifier_block)
@@ -58,6 +58,7 @@ module ImmosquareActiveRecordChangeTracker
58
58
  ##============================================================##
59
59
  after_save(:save_change_history)
60
60
  after_destroy(:delete_change_history)
61
+ after_real_destroy(:delete_all_change_histories) if paranoid?
61
62
  end
62
63
  end
63
64
 
@@ -65,6 +66,10 @@ module ImmosquareActiveRecordChangeTracker
65
66
  private
66
67
 
67
68
 
69
+ def delete_all_change_histories
70
+ history_records.destroy_all
71
+ end
72
+
68
73
  ##============================================================##
69
74
  ## Stocker les changements après un create ou save ou update
70
75
  ##============================================================##
@@ -110,11 +115,22 @@ module ImmosquareActiveRecordChangeTracker
110
115
  changes_to_save.merge!(globalize_changes)
111
116
  end
112
117
 
118
+
119
+ ##============================================================##
120
+ ## On regarde si jamais ce que l'on essaye de sauvegarder contient
121
+ ## des valeurs identiques.
122
+ ## ex: quand on met true dans un integer, rails le convertit
123
+ ## automatiquement en 1 si le champ était déjà en bdd
124
+ ## -> {"cellar"=>[1, 1]} ou {"cellar"=>[0, 0]}
125
+ ##============================================================##
126
+ changes_to_save = changes_to_save.reject {|_k, change_array| change_array[0] == change_array[1] }
127
+
113
128
  ##============================================================##
114
129
  ## Si aucun changement à sauvegarder, on sort
115
130
  ##============================================================##
116
131
  return if changes_to_save.none?
117
132
 
133
+
118
134
  ##============================================================##
119
135
  ## Récupération du modificateur en exécutant le bloc s'il est défini
120
136
  ##============================================================##
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: immosquare-active-record-change-tracker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - immosquare
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-10-14 00:00:00.000000000 Z
11
+ date: 2024-12-05 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A gem to track changes on ActiveRecord models
14
14
  email:
@@ -42,7 +42,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
42
42
  - !ruby/object:Gem::Version
43
43
  version: '0'
44
44
  requirements: []
45
- rubygems_version: 3.5.21
45
+ rubygems_version: 3.5.22
46
46
  signing_key:
47
47
  specification_version: 4
48
48
  summary: ActiveRecord Change Tracker