hoardable 0.18.1 → 0.18.2

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: 36d1113a71b72492244fadc8172ef4a08f28bdff546b7344bb385ce38e82ecbd
4
- data.tar.gz: a4cee0c629c4c1d59f6c0b632c0499fc5e094e099c7e0dc4bf3e0d79271f6eb8
3
+ metadata.gz: fa8fcbadc193fbfcbdb4efa5f1030c2ff5a6be1da19b672136ca0ce5a4bfd846
4
+ data.tar.gz: 57b7f6fcbe331e181be56a4e8d284bed7ba322c9cb42280917a684e99ae53c0f
5
5
  SHA512:
6
- metadata.gz: 3cb288b7dbd5938056d3fd5fae396ad6d7caca20a98902ebb228a75d4c05d5e689807ea90f4e6f96dc5e1ac20bbb028fa12717676da3f60163ca4a362bf33db1
7
- data.tar.gz: 44bba102025a18563d29d76430d27f06299316d69b37e08fa3b216453dfe6c4890f82e6f065843c127cf26fb0da39f7ce76194d2e31dc2bd0021d9973e6c9748
6
+ metadata.gz: f4adc32f25af165fc80a53b0982b392dc4878ff3b6afcf1f9f892d75acac859c3b8bf1d9a292e9578da25926b349e380e92dd2d06e8bcb683239e0a7b4ddb95e
7
+ data.tar.gz: a076911d80e94a764992716188f35dfe5893662e908d40d7f2b7c48305d3188554a494f5c0fd6d598161a16b52abd53a392cf85e29d927535624d25de3ae3b2a
@@ -0,0 +1,17 @@
1
+ module Hoardable
2
+ # Monkey-patches an internal Arel method to ensure that bulk UPDATE's always operate
3
+ # directly on the root table by injecting the ONLY keyword.
4
+ module ArelCrud
5
+ def compile_update(*args)
6
+ um = super(*args)
7
+
8
+ if source.left.instance_variable_get(:@klass).in?(Hoardable::REGISTRY)
9
+ return um.table(Arel.sql("ONLY #{source.left.name}"))
10
+ end
11
+
12
+ um
13
+ end
14
+ end
15
+ end
16
+
17
+ Arel::SelectManager.prepend Hoardable::ArelCrud
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Hoardable
4
- VERSION = "0.18.1"
4
+ VERSION = "0.18.2"
5
5
  end
data/lib/hoardable.rb CHANGED
@@ -4,6 +4,7 @@ require "active_record"
4
4
  require "fx"
5
5
  require_relative "hoardable/version"
6
6
  require_relative "hoardable/arel_visitors"
7
+ require_relative "hoardable/arel_crud"
7
8
  require_relative "hoardable/schema_statements"
8
9
  require_relative "hoardable/schema_dumper"
9
10
  require_relative "hoardable/engine"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hoardable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.1
4
+ version: 0.18.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - justin talbott
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-15 00:00:00.000000000 Z
11
+ date: 2025-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -17,6 +17,9 @@ dependencies:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '7'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '9'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -24,6 +27,9 @@ dependencies:
24
27
  - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '7'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '9'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: activesupport
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -31,6 +37,9 @@ dependencies:
31
37
  - - ">="
32
38
  - !ruby/object:Gem::Version
33
39
  version: '7'
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '9'
34
43
  type: :runtime
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -38,6 +47,9 @@ dependencies:
38
47
  - - ">="
39
48
  - !ruby/object:Gem::Version
40
49
  version: '7'
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '9'
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: railties
43
55
  requirement: !ruby/object:Gem::Requirement
@@ -45,6 +57,9 @@ dependencies:
45
57
  - - ">="
46
58
  - !ruby/object:Gem::Version
47
59
  version: '7'
60
+ - - "<"
61
+ - !ruby/object:Gem::Version
62
+ version: '9'
48
63
  type: :runtime
49
64
  prerelease: false
50
65
  version_requirements: !ruby/object:Gem::Requirement
@@ -52,6 +67,9 @@ dependencies:
52
67
  - - ">="
53
68
  - !ruby/object:Gem::Version
54
69
  version: '7'
70
+ - - "<"
71
+ - !ruby/object:Gem::Version
72
+ version: '9'
55
73
  - !ruby/object:Gem::Dependency
56
74
  name: fx
57
75
  requirement: !ruby/object:Gem::Requirement
@@ -116,6 +134,7 @@ files:
116
134
  - lib/generators/hoardable/triggers/set_hoardable_id.sql
117
135
  - lib/generators/hoardable/triggers/versions_prevent_update.sql
118
136
  - lib/hoardable.rb
137
+ - lib/hoardable/arel_crud.rb
119
138
  - lib/hoardable/arel_visitors.rb
120
139
  - lib/hoardable/associations.rb
121
140
  - lib/hoardable/belongs_to.rb