waldit 0.0.10 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 36a418e6018778b191932f3ae0a024f249dadf81650680cc638e09582ae2cbf1
4
- data.tar.gz: be6287122656902fd53defba9430506bed0c0039464c4a212457f552b9a94f27
3
+ metadata.gz: d97512d549606ea52367df080d5c7fe181f894595d804b31fe578ed5f1f26410
4
+ data.tar.gz: 9df7afe8818119e18391fd8b6284a2bf4ab40f87a75d0ca47979507e708395b8
5
5
  SHA512:
6
- metadata.gz: 5fbf80049a20bbb4f2bce49f2eadbc725f9ccca4555f7977581d33509ac3c50910e49766a6b10da0733c71d7b3dabd889a8276ce71f55a6519b3ce908cf37f49
7
- data.tar.gz: 73a975b25ca05a32a34448bc96fa06eb57825f10eac3dea592b3a0e179b07126d501261c8d078f65c60d03aa59b724223a6d1c14b61583cb2962cf8f65a42042
6
+ metadata.gz: aa935a49d7f9356ce6f0dc924b3fbf1bd9ba5c06923d45b893c92fb3e15df373dc6ce83d729b644bc0c9e6bef31f69f0804cf36e1acf5967ea66945da8e3f475
7
+ data.tar.gz: d196dc919ab630fb49f40e0c556c196948332aab5b672d68115d6a0dfb04e8c7691ff1270bd1c742eebbef11465c6034edd20d4ef05e413ce73574a410f3c6a4
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Waldit
4
- VERSION = "0.0.10"
4
+ VERSION = "0.0.11"
5
5
  end
@@ -13,18 +13,22 @@ module Waldit
13
13
 
14
14
  case event
15
15
  when InsertEvent
16
- @connection.exec_prepared("waldit_insert", audit + [event.new.to_json])
16
+ new_attributes = clean_attributes(event.table, event.new)
17
+ @connection.exec_prepared("waldit_insert", audit + [new_attributes.to_json])
17
18
 
18
19
  when UpdateEvent
19
20
  return if event.diff.without(ignored_columns(event.table)).empty?
20
- @connection.exec_prepared("waldit_update", audit + [event.old.to_json, event.new.to_json])
21
+ old_attributes = clean_attributes(event.table, event.old)
22
+ new_attributes = clean_attributes(event.table, event.new)
23
+
24
+ @connection.exec_prepared("waldit_update", audit + [old_attributes.to_json, new_attributes.to_json])
21
25
 
22
26
  when DeleteEvent
23
27
  case @connection.exec_prepared("waldit_delete_cleanup", [event.transaction_id, event.table, event.primary_key]).values
24
28
  in [["update", previous_old]]
25
29
  @connection.exec_prepared("waldit_delete", audit + [previous_old])
26
30
  in []
27
- @connection.exec_prepared("waldit_delete", audit + [event.old.to_json])
31
+ @connection.exec_prepared("waldit_delete", audit + [clean_attributes(event.table, event.old).to_json])
28
32
  else
29
33
  # Don't need to audit anything on this case
30
34
  end
@@ -111,6 +115,10 @@ module Waldit
111
115
  Waldit.ignored_columns.call(table)
112
116
  end
113
117
 
118
+ def clean_attributes(table, attributes)
119
+ attributes.without(ignored_columns(table))
120
+ end
121
+
114
122
  def max_transaction_size
115
123
  Waldit.max_transaction_size
116
124
  end
data/rbi/waldit.rbi CHANGED
@@ -2,7 +2,7 @@
2
2
  module Waldit
3
3
  extend T::Sig
4
4
  extend Waldit::Context
5
- VERSION = "0.0.6"
5
+ VERSION = "0.0.11"
6
6
 
7
7
  class << self
8
8
  sig { returns(String) }
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: waldit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rodrigo Navarro
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-08-22 00:00:00.000000000 Z
10
+ date: 2025-08-23 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: wal