iron_trail 0.1.3 → 0.1.4

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: eddde7b02bdbba2a0c1aa1c19ee3b94ec7b072b9997efbbe448ca08df57b259a
4
- data.tar.gz: aef0e076c736ce71b549ce25e92a5e2c4787c98a511ac4cd99c9378947ee26eb
3
+ metadata.gz: 205a181e1b361753b39576a57dbee4503b62573314c52d91044acbdcd60c26b0
4
+ data.tar.gz: 41f13486979881ee2e23b5247f949c23bddca34f27d3aa5bbaf348f32e9a1673
5
5
  SHA512:
6
- metadata.gz: 8c44cfbb096061ab84e56d0185fd8f70cd499e8be74719dbbbce8e2c9dd19b87280a7781ab40efde0b3cd982ae9bfd3b789701fd4763d334d8f839fbfd199671
7
- data.tar.gz: b63a94044f453db750308883742d359871dc5598df6c83d6be91731d82c0087d29f66955aa09f57131611f38efce48c8c8e940ab7ea0b3a295017e4ed9c98222
6
+ metadata.gz: df308cd9a427c4069178c7304c9b823070db8474d9556a45c9d4a1eb5d0c3edfef70a3d250cc564648c96ce44e57576fdb78e2b3fe30a9ce4682f6824b56497f
7
+ data.tar.gz: 448ffb8f0440aa63a927b0e41925fd63a48ed1b2b50b68c7f2b205569c3e2de250cbc9f44ca5297bf06c3b8d9d53517796d16afe966fff589779f31c959c4189
@@ -24,14 +24,20 @@ module IronTrail
24
24
  private
25
25
 
26
26
  def _where_object_changes(ary_index, args)
27
+ ary_index = Integer(ary_index)
27
28
  scope = all
28
29
 
29
30
  args.each do |col_name, value|
30
- scope.where!(
31
- ::Arel::Nodes::SqlLiteral.new("rec_delta->#{connection.quote col_name}->>#{Integer(ary_index)}").eq(
32
- ::Arel::Nodes::BindParam.new(value)
31
+ col_delta = "rec_delta->#{connection.quote(col_name)}"
32
+ node = if value == nil
33
+ ::Arel::Nodes::SqlLiteral.new("#{col_delta}->#{ary_index} = 'null'::jsonb")
34
+ else
35
+ ::Arel::Nodes::SqlLiteral.new("#{col_delta}->>#{ary_index}").eq(
36
+ ::Arel::Nodes::BindParam.new(value.to_s)
33
37
  )
34
- )
38
+ end
39
+
40
+ scope.where!(node)
35
41
  end
36
42
 
37
43
  scope
@@ -1,5 +1,5 @@
1
1
  # frozen_literal_string: true
2
2
 
3
3
  module IronTrail
4
- VERSION = '0.1.3'
4
+ VERSION = '0.1.4'
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iron_trail
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - André Diego Piske
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-02-12 00:00:00.000000000 Z
10
+ date: 2025-02-24 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: rails