counter_cache_update 0.0.7 → 0.0.8
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 +4 -4
- data/Rakefile +1 -1
- data/app/services/counter_cache_update/table_updator_service.rb +13 -4
- data/app/services/counter_cache_update/update_service.rb +1 -1
- data/config/routes.rb +1 -0
- data/lib/counter_cache_update/engine.rb +1 -1
- data/lib/counter_cache_update/version.rb +1 -1
- metadata +13 -40
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 430f7a1757679ade4c8c878ee748972b5e12583e24ca66873c1d5b5215042e00
|
|
4
|
+
data.tar.gz: 7d8f70c2fd97560a36f4bd2bd3a637e3a2885df1806647798fc6618d3d162423
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0f088305431edc59183f77eabd38c1207ba78118df4773f6ff85dcfaf808fcf77c56fd62065b9265c0f379879742e05bfaee1e6557d7d13ed19a7c844bfe1cf7
|
|
7
|
+
data.tar.gz: f127fea7a2e3152b757577c659efd9fada94bf709434d4a4072b5b12d46198750cd7fc14ba8a1c9fa303e0b39c69c3a1249701c26808ebaed0a6dbb15c8c0370
|
data/Rakefile
CHANGED
|
@@ -6,6 +6,8 @@ class CounterCacheUpdate::TableUpdatorService < ServicePattern::Service
|
|
|
6
6
|
|
|
7
7
|
@model_class = model_class
|
|
8
8
|
@model_class ||= @reflection.class_name.constantize
|
|
9
|
+
|
|
10
|
+
raise "Column not found: #{table_name}.#{column_name}" if @model_class.column_names.exclude?(column_name)
|
|
9
11
|
end
|
|
10
12
|
|
|
11
13
|
def perform
|
|
@@ -16,13 +18,20 @@ class CounterCacheUpdate::TableUpdatorService < ServicePattern::Service
|
|
|
16
18
|
private
|
|
17
19
|
|
|
18
20
|
def column_name
|
|
19
|
-
@column_name ||=
|
|
20
|
-
|
|
21
|
+
@column_name ||= begin
|
|
22
|
+
counter_cache = reflection.options[:counter_cache]
|
|
23
|
+
|
|
24
|
+
case counter_cache
|
|
25
|
+
when true
|
|
21
26
|
"#{reflection.active_record.name.pluralize.underscore}_count"
|
|
27
|
+
when Hash
|
|
28
|
+
counter_cache[:column].presence&.to_s || "#{reflection.active_record.name.pluralize.underscore}_count"
|
|
22
29
|
else
|
|
23
|
-
reflection.
|
|
30
|
+
raise "The reflection #{reflection.active_record.name}##{reflection.name} hasn't got counter_cache set?" unless counter_cache
|
|
31
|
+
|
|
32
|
+
counter_cache
|
|
24
33
|
end
|
|
25
|
-
end
|
|
34
|
+
end
|
|
26
35
|
end
|
|
27
36
|
|
|
28
37
|
def count_sql
|
|
@@ -23,7 +23,7 @@ private
|
|
|
23
23
|
model_classes.each do |model_class|
|
|
24
24
|
@progress_bar&.increment!
|
|
25
25
|
|
|
26
|
-
model_class.reflections.
|
|
26
|
+
model_class.reflections.each_value do |reflection|
|
|
27
27
|
next unless reflection.macro.to_sym == :belongs_to
|
|
28
28
|
next unless reflection.options[:counter_cache]
|
|
29
29
|
|
data/config/routes.rb
CHANGED
metadata
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: counter_cache_update
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- kaspernj
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2025-12-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: 7.1.0
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- - "
|
|
24
|
+
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
26
|
+
version: 7.1.0
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: service_pattern
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -38,34 +38,6 @@ dependencies:
|
|
|
38
38
|
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: 1.0.0
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: pry-rails
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - ">="
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '0'
|
|
48
|
-
type: :development
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - ">="
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '0'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: tzinfo-data
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - ">="
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '0'
|
|
62
|
-
type: :development
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - ">="
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: '0'
|
|
69
41
|
description: Scans all your models and updates all counter caches with optimised SQL.
|
|
70
42
|
email:
|
|
71
43
|
- kaspernj@gmail.com
|
|
@@ -96,8 +68,9 @@ files:
|
|
|
96
68
|
homepage: https://github.com/kaspernj/counter_cache_update
|
|
97
69
|
licenses:
|
|
98
70
|
- MIT
|
|
99
|
-
metadata:
|
|
100
|
-
|
|
71
|
+
metadata:
|
|
72
|
+
rubygems_mfa_required: 'true'
|
|
73
|
+
post_install_message:
|
|
101
74
|
rdoc_options: []
|
|
102
75
|
require_paths:
|
|
103
76
|
- lib
|
|
@@ -105,15 +78,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
105
78
|
requirements:
|
|
106
79
|
- - ">="
|
|
107
80
|
- !ruby/object:Gem::Version
|
|
108
|
-
version: '
|
|
81
|
+
version: '3.3'
|
|
109
82
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
110
83
|
requirements:
|
|
111
84
|
- - ">="
|
|
112
85
|
- !ruby/object:Gem::Version
|
|
113
86
|
version: '0'
|
|
114
87
|
requirements: []
|
|
115
|
-
rubygems_version: 3.
|
|
116
|
-
signing_key:
|
|
88
|
+
rubygems_version: 3.5.22
|
|
89
|
+
signing_key:
|
|
117
90
|
specification_version: 4
|
|
118
91
|
summary: Scans all your models and updates all counter caches with optimised SQL.
|
|
119
92
|
test_files: []
|