waldit 0.0.13 → 0.0.14

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: 5a382bdb2d4427340b4b241bd8589f6483834a8151192e0b42ce950005bfbdbf
4
- data.tar.gz: 706162360063cac7d991348d3668a44f2a43c43a8011c77114977298a0115ef1
3
+ metadata.gz: 124c88d83186fe3fc61c3e9f2a2905eb8df5ea8468134ba64a005e0baf8be025
4
+ data.tar.gz: 19d6ba889487a8590d1fd9d2778d5ca041d6a538763cb99381946b8bef0bf349
5
5
  SHA512:
6
- metadata.gz: b60f858e58b3f260910e952d8a593224e04278996d696474aa19d2eaf8941dd1b7bdb1854c681d04883579038268d580ab6359c9186ac1f0e81eb2657d2bb063
7
- data.tar.gz: 5b2df1ec44d3360390e56f6086ad666fa8b32040894bd056378ebc20a1bfb07aa1491b73382c4e721cacd122b751ebf511e86f13f6ac399d4265628cfdab46c5
6
+ metadata.gz: 6ac53c030b4ee7cfa5525b087635a0334b05d33047a8fb09050bd150551b31ce0f2f941ebacb337dc08188bbb6045b9548364b353c31e33022476501ee27eb5f
7
+ data.tar.gz: 37fc90bd861e4265b9b22e0dd5614e03764a7a4ef7679e2000d91524cd45ebd091359385d7a6455410c7952ba84c36c55a9ed82e696b2485a9f2697df4098db7
data/lib/waldit/record.rb CHANGED
@@ -2,21 +2,28 @@
2
2
 
3
3
  module Waldit
4
4
  module Record
5
+ extend ActiveSupport::Concern
6
+
7
+ included do
8
+ default_scope { order(:committed_at) }
9
+ scope :from_table, -> table { where(table_name: table) }
10
+ scope :from_model, -> model { from_table(model.table_name) }
11
+ scope :for, -> record { from_model(record.class).where(primary_key: record.id) }
12
+ scope :with_context, -> ctx { where("context @> ?", ctx.to_json) }
13
+ end
14
+
5
15
  def new
6
16
  return self[:new] if self[:new]
7
-
8
17
  (self[:diff] || {}).transform_values { |_old, new| new }
9
18
  end
10
19
 
11
20
  def old
12
21
  return self[:old] if self[:old]
13
-
14
22
  (self[:diff] || {}).transform_values { |old, _new| old }
15
23
  end
16
24
 
17
25
  def diff
18
26
  return self[:diff] if self[:diff]
19
-
20
27
  (old.keys | new.keys).reduce({}) do |diff, key|
21
28
  old[key] != new[key] ? diff.merge(key => [old[key], new[key]]) : diff
22
29
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Waldit
4
- VERSION = "0.0.13"
4
+ VERSION = "0.0.14"
5
5
  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.13"
5
+ VERSION = "0.0.14"
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.13
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rodrigo Navarro
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-08-30 00:00:00.000000000 Z
10
+ date: 2025-09-01 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: wal