pg_aggregates 0.1.0 → 0.1.1

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: d75685b8a6abb03dda216865bad3cbffc419d6d472b06695b98a5c92a5e05df0
4
- data.tar.gz: 8445256690fb9a3bba119b749e1bb8d356f5024472527413402a05312a9c935e
3
+ metadata.gz: 7dfdc0600d1533080703b0fd15ac61385df0e081cf30aa85a9813fc09680bfd7
4
+ data.tar.gz: 3c9999602a5635ecfd3d0c141a86b7fd67b6a47b15f2a6da80843940d4fece31
5
5
  SHA512:
6
- metadata.gz: 67babad257045327620a6b6d99c3bba1abc0821c9490ee00fb744aae15b843c63b27294f71be65c3b00efb52e231ecf63e4ca88db8c18d3125e5eaf1d70c243c
7
- data.tar.gz: cf6465126ee2fbeeea0e5504463b4d0520ac9690917948b2bead65a10accffbc292a4e44fa3369535bb2f01bbd51023085c6115f4ba8e50c9b390aaa6ad9e231
6
+ metadata.gz: e872d45e8ab297e6a47d6d2a8282b932786208e8cb3f36cc684b2094df195b3d4d4091c46c38a00193722c597ec8f0270466b95002ece1d5b496cb88e528ab72
7
+ data.tar.gz: c2fcccd281d02a9d422bbeb87e852370e558b45adf97c02ac5fb7dab2203db0dd358739ffe50913e3a824288d916c52fe4f593ef7042721a19d536ef67f8054a
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.3.5
data/Appraisals ADDED
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ appraise "rails-6.1" do
4
+ gem "activerecord", "~> 6.1.0"
5
+ gem "railties", "~> 6.1.0"
6
+ end
7
+
8
+ appraise "rails-7.0" do
9
+ gem "activerecord", "~> 7.0.0"
10
+ gem "railties", "~> 7.0.0"
11
+ end
12
+
13
+ appraise "rails-7.1" do
14
+ gem "activerecord", "~> 7.1.0"
15
+ gem "railties", "~> 7.1.0"
16
+ end
@@ -0,0 +1,21 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "ammeter"
6
+ gem "appraisal"
7
+ gem "base64"
8
+ gem "bigdecimal"
9
+ gem "database_cleaner"
10
+ gem "drb"
11
+ gem "logger"
12
+ gem "mutex_m"
13
+ gem "rake"
14
+ gem "rspec"
15
+ gem "rubocop-mhenrixon"
16
+ gem "rubocop-rake"
17
+ gem "rubocop-rspec"
18
+ gem "activerecord", "~> 6.1.0"
19
+ gem "railties", "~> 6.1.0"
20
+
21
+ gemspec path: "../"
@@ -0,0 +1,174 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ pg_aggregates (0.1.0)
5
+ activerecord (>= 6.1)
6
+ pg (>= 1.1)
7
+ railties (>= 6.1)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ actionpack (6.1.7.10)
13
+ actionview (= 6.1.7.10)
14
+ activesupport (= 6.1.7.10)
15
+ rack (~> 2.0, >= 2.0.9)
16
+ rack-test (>= 0.6.3)
17
+ rails-dom-testing (~> 2.0)
18
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
19
+ actionview (6.1.7.10)
20
+ activesupport (= 6.1.7.10)
21
+ builder (~> 3.1)
22
+ erubi (~> 1.4)
23
+ rails-dom-testing (~> 2.0)
24
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
25
+ activemodel (6.1.7.10)
26
+ activesupport (= 6.1.7.10)
27
+ activerecord (6.1.7.10)
28
+ activemodel (= 6.1.7.10)
29
+ activesupport (= 6.1.7.10)
30
+ activesupport (6.1.7.10)
31
+ concurrent-ruby (~> 1.0, >= 1.0.2)
32
+ i18n (>= 1.6, < 2)
33
+ minitest (>= 5.1)
34
+ tzinfo (~> 2.0)
35
+ zeitwerk (~> 2.3)
36
+ ammeter (1.1.7)
37
+ activesupport (>= 3.0)
38
+ railties (>= 3.0)
39
+ rspec-rails (>= 2.2)
40
+ appraisal (2.5.0)
41
+ bundler
42
+ rake
43
+ thor (>= 0.14.0)
44
+ ast (2.4.2)
45
+ base64 (0.2.0)
46
+ bigdecimal (3.1.8)
47
+ builder (3.3.0)
48
+ concurrent-ruby (1.3.4)
49
+ crass (1.0.6)
50
+ database_cleaner (2.1.0)
51
+ database_cleaner-active_record (>= 2, < 3)
52
+ database_cleaner-active_record (2.2.0)
53
+ activerecord (>= 5.a)
54
+ database_cleaner-core (~> 2.0.0)
55
+ database_cleaner-core (2.0.1)
56
+ diff-lcs (1.5.1)
57
+ drb (2.2.1)
58
+ erubi (1.13.0)
59
+ i18n (1.14.6)
60
+ concurrent-ruby (~> 1.0)
61
+ json (2.7.6)
62
+ language_server-protocol (3.17.0.3)
63
+ logger (1.6.1)
64
+ loofah (2.23.1)
65
+ crass (~> 1.0.2)
66
+ nokogiri (>= 1.12.0)
67
+ method_source (1.1.0)
68
+ minitest (5.25.1)
69
+ mutex_m (0.2.0)
70
+ nokogiri (1.16.7-arm64-darwin)
71
+ racc (~> 1.4)
72
+ parallel (1.26.3)
73
+ parser (3.3.5.1)
74
+ ast (~> 2.4.1)
75
+ racc
76
+ pg (1.5.9)
77
+ racc (1.8.1)
78
+ rack (2.2.10)
79
+ rack-test (2.1.0)
80
+ rack (>= 1.3)
81
+ rails-dom-testing (2.2.0)
82
+ activesupport (>= 5.0.0)
83
+ minitest
84
+ nokogiri (>= 1.6)
85
+ rails-html-sanitizer (1.6.0)
86
+ loofah (~> 2.21)
87
+ nokogiri (~> 1.14)
88
+ railties (6.1.7.10)
89
+ actionpack (= 6.1.7.10)
90
+ activesupport (= 6.1.7.10)
91
+ method_source
92
+ rake (>= 12.2)
93
+ thor (~> 1.0)
94
+ rainbow (3.1.1)
95
+ rake (13.2.1)
96
+ regexp_parser (2.9.2)
97
+ rspec (3.13.0)
98
+ rspec-core (~> 3.13.0)
99
+ rspec-expectations (~> 3.13.0)
100
+ rspec-mocks (~> 3.13.0)
101
+ rspec-core (3.13.2)
102
+ rspec-support (~> 3.13.0)
103
+ rspec-expectations (3.13.3)
104
+ diff-lcs (>= 1.2.0, < 2.0)
105
+ rspec-support (~> 3.13.0)
106
+ rspec-mocks (3.13.2)
107
+ diff-lcs (>= 1.2.0, < 2.0)
108
+ rspec-support (~> 3.13.0)
109
+ rspec-rails (6.1.5)
110
+ actionpack (>= 6.1)
111
+ activesupport (>= 6.1)
112
+ railties (>= 6.1)
113
+ rspec-core (~> 3.13)
114
+ rspec-expectations (~> 3.13)
115
+ rspec-mocks (~> 3.13)
116
+ rspec-support (~> 3.13)
117
+ rspec-support (3.13.1)
118
+ rubocop (1.68.0)
119
+ json (~> 2.3)
120
+ language_server-protocol (>= 3.17.0)
121
+ parallel (~> 1.10)
122
+ parser (>= 3.3.0.2)
123
+ rainbow (>= 2.2.2, < 4.0)
124
+ regexp_parser (>= 2.4, < 3.0)
125
+ rubocop-ast (>= 1.32.2, < 2.0)
126
+ ruby-progressbar (~> 1.7)
127
+ unicode-display_width (>= 2.4.0, < 3.0)
128
+ rubocop-ast (1.34.0)
129
+ parser (>= 3.3.1.0)
130
+ rubocop-mhenrixon (3.0.0)
131
+ rubocop
132
+ rubocop-performance
133
+ rubocop-rake
134
+ rubocop-rspec
135
+ rubocop-thread_safety
136
+ rubocop-performance (1.22.1)
137
+ rubocop (>= 1.48.1, < 2.0)
138
+ rubocop-ast (>= 1.31.1, < 2.0)
139
+ rubocop-rake (0.6.0)
140
+ rubocop (~> 1.0)
141
+ rubocop-rspec (3.2.0)
142
+ rubocop (~> 1.61)
143
+ rubocop-thread_safety (0.5.1)
144
+ rubocop (>= 0.90.0)
145
+ ruby-progressbar (1.13.0)
146
+ thor (1.3.2)
147
+ tzinfo (2.0.6)
148
+ concurrent-ruby (~> 1.0)
149
+ unicode-display_width (2.6.0)
150
+ zeitwerk (2.6.18)
151
+
152
+ PLATFORMS
153
+ arm64-darwin
154
+
155
+ DEPENDENCIES
156
+ activerecord (~> 6.1.0)
157
+ ammeter
158
+ appraisal
159
+ base64
160
+ bigdecimal
161
+ database_cleaner
162
+ drb
163
+ logger
164
+ mutex_m
165
+ pg_aggregates!
166
+ railties (~> 6.1.0)
167
+ rake
168
+ rspec
169
+ rubocop-mhenrixon
170
+ rubocop-rake
171
+ rubocop-rspec
172
+
173
+ BUNDLED WITH
174
+ 2.5.20
@@ -0,0 +1,21 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "ammeter"
6
+ gem "appraisal"
7
+ gem "base64"
8
+ gem "bigdecimal"
9
+ gem "database_cleaner"
10
+ gem "drb"
11
+ gem "logger"
12
+ gem "mutex_m"
13
+ gem "rake"
14
+ gem "rspec"
15
+ gem "rubocop-mhenrixon"
16
+ gem "rubocop-rake"
17
+ gem "rubocop-rspec"
18
+ gem "activerecord", "~> 7.0.0"
19
+ gem "railties", "~> 7.0.0"
20
+
21
+ gemspec path: "../"
@@ -0,0 +1,189 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ pg_aggregates (0.1.0)
5
+ activerecord (>= 6.1)
6
+ pg (>= 1.1)
7
+ railties (>= 6.1)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ actionpack (7.0.8.6)
13
+ actionview (= 7.0.8.6)
14
+ activesupport (= 7.0.8.6)
15
+ rack (~> 2.0, >= 2.2.4)
16
+ rack-test (>= 0.6.3)
17
+ rails-dom-testing (~> 2.0)
18
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
19
+ actionview (7.0.8.6)
20
+ activesupport (= 7.0.8.6)
21
+ builder (~> 3.1)
22
+ erubi (~> 1.4)
23
+ rails-dom-testing (~> 2.0)
24
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
25
+ activemodel (7.0.8.6)
26
+ activesupport (= 7.0.8.6)
27
+ activerecord (7.0.8.6)
28
+ activemodel (= 7.0.8.6)
29
+ activesupport (= 7.0.8.6)
30
+ activesupport (7.0.8.6)
31
+ concurrent-ruby (~> 1.0, >= 1.0.2)
32
+ i18n (>= 1.6, < 2)
33
+ minitest (>= 5.1)
34
+ tzinfo (~> 2.0)
35
+ ammeter (1.1.7)
36
+ activesupport (>= 3.0)
37
+ railties (>= 3.0)
38
+ rspec-rails (>= 2.2)
39
+ appraisal (2.5.0)
40
+ bundler
41
+ rake
42
+ thor (>= 0.14.0)
43
+ ast (2.4.2)
44
+ base64 (0.2.0)
45
+ bigdecimal (3.1.8)
46
+ builder (3.3.0)
47
+ concurrent-ruby (1.3.4)
48
+ crass (1.0.6)
49
+ database_cleaner (2.1.0)
50
+ database_cleaner-active_record (>= 2, < 3)
51
+ database_cleaner-active_record (2.2.0)
52
+ activerecord (>= 5.a)
53
+ database_cleaner-core (~> 2.0.0)
54
+ database_cleaner-core (2.0.1)
55
+ diff-lcs (1.5.1)
56
+ drb (2.2.1)
57
+ erubi (1.13.0)
58
+ i18n (1.14.6)
59
+ concurrent-ruby (~> 1.0)
60
+ json (2.7.6)
61
+ language_server-protocol (3.17.0.3)
62
+ logger (1.6.1)
63
+ loofah (2.23.1)
64
+ crass (~> 1.0.2)
65
+ nokogiri (>= 1.12.0)
66
+ method_source (1.1.0)
67
+ minitest (5.25.1)
68
+ mutex_m (0.2.0)
69
+ nokogiri (1.16.7-aarch64-linux)
70
+ racc (~> 1.4)
71
+ nokogiri (1.16.7-arm-linux)
72
+ racc (~> 1.4)
73
+ nokogiri (1.16.7-arm64-darwin)
74
+ racc (~> 1.4)
75
+ nokogiri (1.16.7-x86-linux)
76
+ racc (~> 1.4)
77
+ nokogiri (1.16.7-x86_64-darwin)
78
+ racc (~> 1.4)
79
+ nokogiri (1.16.7-x86_64-linux)
80
+ racc (~> 1.4)
81
+ parallel (1.26.3)
82
+ parser (3.3.5.1)
83
+ ast (~> 2.4.1)
84
+ racc
85
+ pg (1.5.9)
86
+ racc (1.8.1)
87
+ rack (2.2.10)
88
+ rack-test (2.1.0)
89
+ rack (>= 1.3)
90
+ rails-dom-testing (2.2.0)
91
+ activesupport (>= 5.0.0)
92
+ minitest
93
+ nokogiri (>= 1.6)
94
+ rails-html-sanitizer (1.6.0)
95
+ loofah (~> 2.21)
96
+ nokogiri (~> 1.14)
97
+ railties (7.0.8.6)
98
+ actionpack (= 7.0.8.6)
99
+ activesupport (= 7.0.8.6)
100
+ method_source
101
+ rake (>= 12.2)
102
+ thor (~> 1.0)
103
+ zeitwerk (~> 2.5)
104
+ rainbow (3.1.1)
105
+ rake (13.2.1)
106
+ regexp_parser (2.9.2)
107
+ rspec (3.13.0)
108
+ rspec-core (~> 3.13.0)
109
+ rspec-expectations (~> 3.13.0)
110
+ rspec-mocks (~> 3.13.0)
111
+ rspec-core (3.13.2)
112
+ rspec-support (~> 3.13.0)
113
+ rspec-expectations (3.13.3)
114
+ diff-lcs (>= 1.2.0, < 2.0)
115
+ rspec-support (~> 3.13.0)
116
+ rspec-mocks (3.13.2)
117
+ diff-lcs (>= 1.2.0, < 2.0)
118
+ rspec-support (~> 3.13.0)
119
+ rspec-rails (7.0.1)
120
+ actionpack (>= 7.0)
121
+ activesupport (>= 7.0)
122
+ railties (>= 7.0)
123
+ rspec-core (~> 3.13)
124
+ rspec-expectations (~> 3.13)
125
+ rspec-mocks (~> 3.13)
126
+ rspec-support (~> 3.13)
127
+ rspec-support (3.13.1)
128
+ rubocop (1.68.0)
129
+ json (~> 2.3)
130
+ language_server-protocol (>= 3.17.0)
131
+ parallel (~> 1.10)
132
+ parser (>= 3.3.0.2)
133
+ rainbow (>= 2.2.2, < 4.0)
134
+ regexp_parser (>= 2.4, < 3.0)
135
+ rubocop-ast (>= 1.32.2, < 2.0)
136
+ ruby-progressbar (~> 1.7)
137
+ unicode-display_width (>= 2.4.0, < 3.0)
138
+ rubocop-ast (1.34.0)
139
+ parser (>= 3.3.1.0)
140
+ rubocop-mhenrixon (3.0.0)
141
+ rubocop
142
+ rubocop-performance
143
+ rubocop-rake
144
+ rubocop-rspec
145
+ rubocop-thread_safety
146
+ rubocop-performance (1.22.1)
147
+ rubocop (>= 1.48.1, < 2.0)
148
+ rubocop-ast (>= 1.31.1, < 2.0)
149
+ rubocop-rake (0.6.0)
150
+ rubocop (~> 1.0)
151
+ rubocop-rspec (3.2.0)
152
+ rubocop (~> 1.61)
153
+ rubocop-thread_safety (0.5.1)
154
+ rubocop (>= 0.90.0)
155
+ ruby-progressbar (1.13.0)
156
+ thor (1.3.2)
157
+ tzinfo (2.0.6)
158
+ concurrent-ruby (~> 1.0)
159
+ unicode-display_width (2.6.0)
160
+ zeitwerk (2.6.18)
161
+
162
+ PLATFORMS
163
+ aarch64-linux
164
+ arm-linux
165
+ arm64-darwin
166
+ x86-linux
167
+ x86_64-darwin
168
+ x86_64-linux
169
+
170
+ DEPENDENCIES
171
+ activerecord (~> 7.0.0)
172
+ ammeter
173
+ appraisal
174
+ base64
175
+ bigdecimal
176
+ database_cleaner
177
+ drb
178
+ logger
179
+ mutex_m
180
+ pg_aggregates!
181
+ railties (~> 7.0.0)
182
+ rake
183
+ rspec
184
+ rubocop-mhenrixon
185
+ rubocop-rake
186
+ rubocop-rspec
187
+
188
+ BUNDLED WITH
189
+ 2.5.20
@@ -0,0 +1,21 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "ammeter"
6
+ gem "appraisal"
7
+ gem "base64"
8
+ gem "bigdecimal"
9
+ gem "database_cleaner"
10
+ gem "drb"
11
+ gem "logger"
12
+ gem "mutex_m"
13
+ gem "rake"
14
+ gem "rspec"
15
+ gem "rubocop-mhenrixon"
16
+ gem "rubocop-rake"
17
+ gem "rubocop-rspec"
18
+ gem "activerecord", "~> 7.1.0"
19
+ gem "railties", "~> 7.1.0"
20
+
21
+ gemspec path: "../"
@@ -0,0 +1,220 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ pg_aggregates (0.1.0)
5
+ activerecord (>= 6.1)
6
+ pg (>= 1.1)
7
+ railties (>= 6.1)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ actionpack (7.1.5)
13
+ actionview (= 7.1.5)
14
+ activesupport (= 7.1.5)
15
+ nokogiri (>= 1.8.5)
16
+ racc
17
+ rack (>= 2.2.4)
18
+ rack-session (>= 1.0.1)
19
+ rack-test (>= 0.6.3)
20
+ rails-dom-testing (~> 2.2)
21
+ rails-html-sanitizer (~> 1.6)
22
+ actionview (7.1.5)
23
+ activesupport (= 7.1.5)
24
+ builder (~> 3.1)
25
+ erubi (~> 1.11)
26
+ rails-dom-testing (~> 2.2)
27
+ rails-html-sanitizer (~> 1.6)
28
+ activemodel (7.1.5)
29
+ activesupport (= 7.1.5)
30
+ activerecord (7.1.5)
31
+ activemodel (= 7.1.5)
32
+ activesupport (= 7.1.5)
33
+ timeout (>= 0.4.0)
34
+ activesupport (7.1.5)
35
+ base64
36
+ benchmark (>= 0.3)
37
+ bigdecimal
38
+ concurrent-ruby (~> 1.0, >= 1.0.2)
39
+ connection_pool (>= 2.2.5)
40
+ drb
41
+ i18n (>= 1.6, < 2)
42
+ logger (>= 1.4.2)
43
+ minitest (>= 5.1)
44
+ mutex_m
45
+ securerandom (>= 0.3)
46
+ tzinfo (~> 2.0)
47
+ ammeter (1.1.7)
48
+ activesupport (>= 3.0)
49
+ railties (>= 3.0)
50
+ rspec-rails (>= 2.2)
51
+ appraisal (2.5.0)
52
+ bundler
53
+ rake
54
+ thor (>= 0.14.0)
55
+ ast (2.4.2)
56
+ base64 (0.2.0)
57
+ benchmark (0.3.0)
58
+ bigdecimal (3.1.8)
59
+ builder (3.3.0)
60
+ concurrent-ruby (1.3.4)
61
+ connection_pool (2.4.1)
62
+ crass (1.0.6)
63
+ database_cleaner (2.1.0)
64
+ database_cleaner-active_record (>= 2, < 3)
65
+ database_cleaner-active_record (2.2.0)
66
+ activerecord (>= 5.a)
67
+ database_cleaner-core (~> 2.0.0)
68
+ database_cleaner-core (2.0.1)
69
+ diff-lcs (1.5.1)
70
+ drb (2.2.1)
71
+ erubi (1.13.0)
72
+ i18n (1.14.6)
73
+ concurrent-ruby (~> 1.0)
74
+ io-console (0.7.2)
75
+ irb (1.14.1)
76
+ rdoc (>= 4.0.0)
77
+ reline (>= 0.4.2)
78
+ json (2.7.6)
79
+ language_server-protocol (3.17.0.3)
80
+ logger (1.6.1)
81
+ loofah (2.23.1)
82
+ crass (~> 1.0.2)
83
+ nokogiri (>= 1.12.0)
84
+ minitest (5.25.1)
85
+ mutex_m (0.2.0)
86
+ nokogiri (1.16.7-aarch64-linux)
87
+ racc (~> 1.4)
88
+ nokogiri (1.16.7-arm-linux)
89
+ racc (~> 1.4)
90
+ nokogiri (1.16.7-arm64-darwin)
91
+ racc (~> 1.4)
92
+ nokogiri (1.16.7-x86-linux)
93
+ racc (~> 1.4)
94
+ nokogiri (1.16.7-x86_64-darwin)
95
+ racc (~> 1.4)
96
+ nokogiri (1.16.7-x86_64-linux)
97
+ racc (~> 1.4)
98
+ parallel (1.26.3)
99
+ parser (3.3.5.1)
100
+ ast (~> 2.4.1)
101
+ racc
102
+ pg (1.5.9)
103
+ psych (5.1.2)
104
+ stringio
105
+ racc (1.8.1)
106
+ rack (3.1.8)
107
+ rack-session (2.0.0)
108
+ rack (>= 3.0.0)
109
+ rack-test (2.1.0)
110
+ rack (>= 1.3)
111
+ rackup (2.2.0)
112
+ rack (>= 3)
113
+ rails-dom-testing (2.2.0)
114
+ activesupport (>= 5.0.0)
115
+ minitest
116
+ nokogiri (>= 1.6)
117
+ rails-html-sanitizer (1.6.0)
118
+ loofah (~> 2.21)
119
+ nokogiri (~> 1.14)
120
+ railties (7.1.5)
121
+ actionpack (= 7.1.5)
122
+ activesupport (= 7.1.5)
123
+ irb
124
+ rackup (>= 1.0.0)
125
+ rake (>= 12.2)
126
+ thor (~> 1.0, >= 1.2.2)
127
+ zeitwerk (~> 2.6)
128
+ rainbow (3.1.1)
129
+ rake (13.2.1)
130
+ rdoc (6.7.0)
131
+ psych (>= 4.0.0)
132
+ regexp_parser (2.9.2)
133
+ reline (0.5.10)
134
+ io-console (~> 0.5)
135
+ rspec (3.13.0)
136
+ rspec-core (~> 3.13.0)
137
+ rspec-expectations (~> 3.13.0)
138
+ rspec-mocks (~> 3.13.0)
139
+ rspec-core (3.13.2)
140
+ rspec-support (~> 3.13.0)
141
+ rspec-expectations (3.13.3)
142
+ diff-lcs (>= 1.2.0, < 2.0)
143
+ rspec-support (~> 3.13.0)
144
+ rspec-mocks (3.13.2)
145
+ diff-lcs (>= 1.2.0, < 2.0)
146
+ rspec-support (~> 3.13.0)
147
+ rspec-rails (7.0.1)
148
+ actionpack (>= 7.0)
149
+ activesupport (>= 7.0)
150
+ railties (>= 7.0)
151
+ rspec-core (~> 3.13)
152
+ rspec-expectations (~> 3.13)
153
+ rspec-mocks (~> 3.13)
154
+ rspec-support (~> 3.13)
155
+ rspec-support (3.13.1)
156
+ rubocop (1.68.0)
157
+ json (~> 2.3)
158
+ language_server-protocol (>= 3.17.0)
159
+ parallel (~> 1.10)
160
+ parser (>= 3.3.0.2)
161
+ rainbow (>= 2.2.2, < 4.0)
162
+ regexp_parser (>= 2.4, < 3.0)
163
+ rubocop-ast (>= 1.32.2, < 2.0)
164
+ ruby-progressbar (~> 1.7)
165
+ unicode-display_width (>= 2.4.0, < 3.0)
166
+ rubocop-ast (1.34.0)
167
+ parser (>= 3.3.1.0)
168
+ rubocop-mhenrixon (3.0.0)
169
+ rubocop
170
+ rubocop-performance
171
+ rubocop-rake
172
+ rubocop-rspec
173
+ rubocop-thread_safety
174
+ rubocop-performance (1.22.1)
175
+ rubocop (>= 1.48.1, < 2.0)
176
+ rubocop-ast (>= 1.31.1, < 2.0)
177
+ rubocop-rake (0.6.0)
178
+ rubocop (~> 1.0)
179
+ rubocop-rspec (3.2.0)
180
+ rubocop (~> 1.61)
181
+ rubocop-thread_safety (0.5.1)
182
+ rubocop (>= 0.90.0)
183
+ ruby-progressbar (1.13.0)
184
+ securerandom (0.3.1)
185
+ stringio (3.1.1)
186
+ thor (1.3.2)
187
+ timeout (0.4.1)
188
+ tzinfo (2.0.6)
189
+ concurrent-ruby (~> 1.0)
190
+ unicode-display_width (2.6.0)
191
+ zeitwerk (2.6.18)
192
+
193
+ PLATFORMS
194
+ aarch64-linux
195
+ arm-linux
196
+ arm64-darwin
197
+ x86-linux
198
+ x86_64-darwin
199
+ x86_64-linux
200
+
201
+ DEPENDENCIES
202
+ activerecord (~> 7.1.0)
203
+ ammeter
204
+ appraisal
205
+ base64
206
+ bigdecimal
207
+ database_cleaner
208
+ drb
209
+ logger
210
+ mutex_m
211
+ pg_aggregates!
212
+ railties (~> 7.1.0)
213
+ rake
214
+ rspec
215
+ rubocop-mhenrixon
216
+ rubocop-rake
217
+ rubocop-rspec
218
+
219
+ BUNDLED WITH
220
+ 2.5.20
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails/generators"
2
4
  require "rails/generators/active_record"
3
5
 
@@ -5,29 +7,29 @@ module Pg
5
7
  module Generators
6
8
  class AggregateGenerator < Rails::Generators::NamedBase
7
9
  include Rails::Generators::Migration
8
-
10
+
9
11
  source_root File.expand_path("templates", __dir__)
10
-
12
+
11
13
  class_option :version,
12
- type: :string,
13
- default: "1",
14
- desc: "Specify a version for the aggregate"
14
+ type: :string,
15
+ default: "1",
16
+ desc: "Specify a version for the aggregate"
15
17
 
16
18
  def create_aggregate_file
17
19
  @version = options[:version]
18
20
  @aggregate_name = file_name
19
-
21
+
20
22
  template(
21
23
  "aggregate.sql.erb",
22
24
  "db/aggregates/#{file_name}_v#{@version}.sql"
23
25
  )
24
26
  end
25
-
27
+
26
28
  def create_migration_file
27
29
  @version = options[:version]
28
30
  @aggregate_name = file_name
29
31
  @migration_version = migration_version
30
-
32
+
31
33
  migration_template(
32
34
  "migration.rb.erb",
33
35
  "db/migrate/create_aggregate_#{file_name}.rb"
@@ -45,4 +47,4 @@ module Pg
45
47
  end
46
48
  end
47
49
  end
48
- end
50
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module PgAggregates
2
4
  class AggregateDefinition
3
5
  attr_reader :name, :version
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module PgAggregates
2
4
  module CommandRecorder
3
5
  def create_aggregate(*args, &block)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module PgAggregates
2
4
  class FileVersion
3
5
  attr_reader :path, :name, :version
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module PgAggregates
2
4
  class Railtie < Rails::Railtie
3
5
  initializer "postgres_aggregates.load" do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module PgAggregates
2
4
  module SchemaDumper
3
5
  def tables(stream)
@@ -13,13 +15,17 @@ module PgAggregates
13
15
  def dump_custom_aggregates(stream)
14
16
  # Group all versions of each aggregate
15
17
  aggregate_versions = {}
16
-
18
+
17
19
  Dir.glob(Rails.root.join("db/aggregates/*_v*.sql").to_s).each do |file|
18
20
  file_version = FileVersion.new(file)
19
21
  aggregate_versions[file_version.name] ||= []
20
22
  aggregate_versions[file_version.name] << file_version
21
23
  end
22
24
 
25
+ return if aggregate_versions.empty?
26
+
27
+ stream.puts " # These are custom PostgreSQL aggregates that were defined"
28
+
23
29
  # For each aggregate, use the latest version
24
30
  latest_versions = aggregate_versions.transform_values do |versions|
25
31
  versions.max_by(&:version)
@@ -28,11 +34,11 @@ module PgAggregates
28
34
  # Sort by name to ensure consistent ordering
29
35
  latest_versions.keys.sort.each do |aggregate_name|
30
36
  file_version = latest_versions[aggregate_name]
31
-
37
+
32
38
  # Add a comment showing the version history
33
39
  all_versions = aggregate_versions[aggregate_name].map(&:version).sort
34
- version_comment = all_versions.size > 1 ? " -- versions: #{all_versions.join(', ')}" : ""
35
-
40
+ version_comment = all_versions.size > 1 ? " -- versions: #{all_versions.join(", ")}" : ""
41
+
36
42
  stream.puts <<-AGG
37
43
  create_aggregate "#{aggregate_name}", sql_definition: <<-SQL#{version_comment}
38
44
  #{file_version.sql_definition}
@@ -42,4 +48,4 @@ module PgAggregates
42
48
  end
43
49
  end
44
50
  end
45
- end
51
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module PgAggregates
2
4
  module SchemaStatements
3
5
  def create_aggregate(name, version: nil, sql_definition: nil)
@@ -8,20 +10,20 @@ module PgAggregates
8
10
  else
9
11
  # Fallback to file-based definition if needed
10
12
  aggregate_definition = PgAggregates::AggregateDefinition.new(name, version: version)
11
-
13
+
12
14
  # Check if file exists before trying to read it
13
15
  unless File.exist?(aggregate_definition.path)
14
16
  raise ArgumentError, "Could not find aggregate definition file: #{aggregate_definition.path}"
15
17
  end
16
-
18
+
17
19
  execute aggregate_definition.to_sql
18
20
  end
19
21
  end
20
22
 
21
23
  def drop_aggregate(name, *arg_types, force: false)
22
- arg_types_sql = arg_types.any? ? "(#{arg_types.join(', ')})" : ""
24
+ arg_types_sql = arg_types.any? ? "(#{arg_types.join(", ")})" : ""
23
25
  force_clause = force ? " CASCADE" : ""
24
26
  execute "DROP AGGREGATE IF EXISTS #{name}#{arg_types_sql}#{force_clause}"
25
27
  end
26
28
  end
27
- end
29
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PgAggregates
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
data/lib/pg_aggregates.rb CHANGED
@@ -11,7 +11,7 @@ require_relative "pg_aggregates/railtie"
11
11
 
12
12
  module PgAggregates
13
13
  class Error < StandardError; end
14
-
14
+
15
15
  class << self
16
16
  def database
17
17
  ActiveRecord::Base.connection
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg_aggregates
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - mhenrixon
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '6.1'
27
- - !ruby/object:Gem::Dependency
28
- name: railties
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '6.1'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '6.1'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: pg
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -53,77 +39,21 @@ dependencies:
53
39
  - !ruby/object:Gem::Version
54
40
  version: '1.1'
55
41
  - !ruby/object:Gem::Dependency
56
- name: rake
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '13.0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '13.0'
69
- - !ruby/object:Gem::Dependency
70
- name: rspec
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '3.12'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '3.12'
83
- - !ruby/object:Gem::Dependency
84
- name: ammeter
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '1.1'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '1.1'
97
- - !ruby/object:Gem::Dependency
98
- name: database_cleaner-active_record
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: appraisal
42
+ name: railties
113
43
  requirement: !ruby/object:Gem::Requirement
114
44
  requirements:
115
45
  - - ">="
116
46
  - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
47
+ version: '6.1'
48
+ type: :runtime
119
49
  prerelease: false
120
50
  version_requirements: !ruby/object:Gem::Requirement
121
51
  requirements:
122
52
  - - ">="
123
53
  - !ruby/object:Gem::Version
124
- version: '0'
125
- description: Manage PostgreSQL aggregate functions in your Rails application with
126
- versioned migrations and schema handling. This cuts the need for keeping a structure.sql
54
+ version: '6.1'
55
+ description: "Manage PostgreSQL aggregate functions in your Rails application with
56
+ versioned migrations and schema handling. \n\nThis cuts the need for keeping a structure.sql\n"
127
57
  email:
128
58
  - mikael@mhenrixon.com
129
59
  executables: []
@@ -131,9 +61,17 @@ extensions: []
131
61
  extra_rdoc_files: []
132
62
  files:
133
63
  - ".rspec"
64
+ - ".ruby-version"
65
+ - Appraisals
134
66
  - CHANGELOG.md
135
67
  - LICENSE.txt
136
68
  - README.md
69
+ - gemfiles/rails_6.1.gemfile
70
+ - gemfiles/rails_6.1.gemfile.lock
71
+ - gemfiles/rails_7.0.gemfile
72
+ - gemfiles/rails_7.0.gemfile.lock
73
+ - gemfiles/rails_7.1.gemfile
74
+ - gemfiles/rails_7.1.gemfile.lock
137
75
  - lib/generators/pg/aggregate/aggregate_generator.rb
138
76
  - lib/generators/pg/aggregate/templates/aggregate.sql.erb
139
77
  - lib/generators/pg/aggregate/templates/migration.rb.erb
@@ -169,7 +107,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
107
  - !ruby/object:Gem::Version
170
108
  version: '0'
171
109
  requirements: []
172
- rubygems_version: 3.5.22
110
+ rubygems_version: 3.2.33
173
111
  signing_key:
174
112
  specification_version: 4
175
113
  summary: Rails integration for PostgreSQL aggregate functions