pgbouncerhero 2.0.0 → 3.1.0

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.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +64 -0
  3. data/README.md +155 -58
  4. data/app/assets/builds/pgbouncerhero/application.css +2 -0
  5. data/app/assets/stylesheets/pgbouncerhero/application.css +1 -0
  6. data/app/controllers/pg_bouncer_hero/application_controller.rb +6 -9
  7. data/app/controllers/pg_bouncer_hero/database_controller.rb +39 -13
  8. data/app/controllers/pg_bouncer_hero/home_controller.rb +0 -2
  9. data/app/helpers/pg_bouncer_hero/application_helper.rb +19 -13
  10. data/app/javascript/pgbouncerhero/application.js +6 -0
  11. data/app/javascript/pgbouncerhero/controllers/polling_controller.js +27 -0
  12. data/app/views/layouts/pg_bouncer_hero/application.html.erb +19 -22
  13. data/app/views/pg_bouncer_hero/database/_actions.html.erb +9 -9
  14. data/app/views/pg_bouncer_hero/database/_clients.html.erb +21 -23
  15. data/app/views/pg_bouncer_hero/database/_conf.html.erb +21 -23
  16. data/app/views/pg_bouncer_hero/database/_databases.html.erb +21 -23
  17. data/app/views/pg_bouncer_hero/database/_menu.html.erb +20 -18
  18. data/app/views/pg_bouncer_hero/database/_pools.html.erb +21 -23
  19. data/app/views/pg_bouncer_hero/database/_state.html.erb +11 -0
  20. data/app/views/pg_bouncer_hero/database/_stats.html.erb +27 -33
  21. data/app/views/pg_bouncer_hero/database/state.html.erb +4 -0
  22. data/app/views/pg_bouncer_hero/database/summary.html.erb +3 -0
  23. data/app/views/pg_bouncer_hero/home/_card.html.erb +9 -22
  24. data/app/views/pg_bouncer_hero/home/_card_content.html.erb +33 -33
  25. data/app/views/pg_bouncer_hero/home/_card_loading_content.html.erb +5 -5
  26. data/app/views/pg_bouncer_hero/home/index.html.erb +13 -37
  27. data/app/views/shared/_alert.html.erb +2 -5
  28. data/config/importmap.rb +5 -0
  29. data/config/routes.rb +10 -2
  30. data/lib/generators/pgbouncerhero/templates/config.yml +13 -8
  31. data/lib/pgbouncerhero/connection.rb +53 -16
  32. data/lib/pgbouncerhero/database.rb +69 -4
  33. data/lib/pgbouncerhero/engine.rb +13 -10
  34. data/lib/pgbouncerhero/group.rb +0 -2
  35. data/lib/pgbouncerhero/methods/basics.rb +28 -12
  36. data/lib/pgbouncerhero/version.rb +1 -1
  37. data/lib/pgbouncerhero.rb +124 -41
  38. metadata +187 -46
  39. data/.gitignore +0 -19
  40. data/Gemfile +0 -4
  41. data/app/assets/images/pgbouncerhero/short-paragraph.png +0 -0
  42. data/app/assets/javascripts/pgbouncerhero/application.js +0 -3
  43. data/app/assets/stylesheets/pgbouncerhero/application.css.scss +0 -15
  44. data/app/views/pg_bouncer_hero/database/summary.js.erb +0 -5
  45. data/doc/screenshot-1.png +0 -0
  46. data/doc/screenshot-2.png +0 -0
  47. data/doc/screenshot-3.png +0 -0
  48. data/pgbouncerhero.gemspec +0 -32
metadata CHANGED
@@ -1,132 +1,271 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pgbouncerhero
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Quentin Rousseau
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2023-02-08 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
- name: bundler
13
+ name: railties
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
- - - "~>"
16
+ - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: '1.6'
20
- type: :development
18
+ version: '7.2'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '9'
22
+ type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
23
25
  requirements:
24
- - - "~>"
26
+ - - ">="
25
27
  - !ruby/object:Gem::Version
26
- version: '1.6'
28
+ version: '7.2'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '9'
27
32
  - !ruby/object:Gem::Dependency
28
- name: rake
33
+ name: propshaft
29
34
  requirement: !ruby/object:Gem::Requirement
30
35
  requirements:
31
36
  - - ">="
32
37
  - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
38
+ version: '1.0'
39
+ - - "<"
40
+ - !ruby/object:Gem::Version
41
+ version: '2'
42
+ type: :runtime
35
43
  prerelease: false
36
44
  version_requirements: !ruby/object:Gem::Requirement
37
45
  requirements:
38
46
  - - ">="
39
47
  - !ruby/object:Gem::Version
40
- version: '0'
48
+ version: '1.0'
49
+ - - "<"
50
+ - !ruby/object:Gem::Version
51
+ version: '2'
41
52
  - !ruby/object:Gem::Dependency
42
- name: minitest
53
+ name: importmap-rails
43
54
  requirement: !ruby/object:Gem::Requirement
44
55
  requirements:
45
56
  - - ">="
46
57
  - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
58
+ version: '1.2'
59
+ - - "<"
60
+ - !ruby/object:Gem::Version
61
+ version: '3'
62
+ type: :runtime
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - ">="
53
67
  - !ruby/object:Gem::Version
54
- version: '0'
68
+ version: '1.2'
69
+ - - "<"
70
+ - !ruby/object:Gem::Version
71
+ version: '3'
55
72
  - !ruby/object:Gem::Dependency
56
- name: sass-rails
73
+ name: turbo-rails
57
74
  requirement: !ruby/object:Gem::Requirement
58
75
  requirements:
59
76
  - - ">="
60
77
  - !ruby/object:Gem::Version
61
- version: '0'
78
+ version: '1.0'
79
+ - - "<"
80
+ - !ruby/object:Gem::Version
81
+ version: '3'
62
82
  type: :runtime
63
83
  prerelease: false
64
84
  version_requirements: !ruby/object:Gem::Requirement
65
85
  requirements:
66
86
  - - ">="
67
87
  - !ruby/object:Gem::Version
68
- version: '0'
88
+ version: '1.0'
89
+ - - "<"
90
+ - !ruby/object:Gem::Version
91
+ version: '3'
69
92
  - !ruby/object:Gem::Dependency
70
- name: jquery-rails
93
+ name: stimulus-rails
71
94
  requirement: !ruby/object:Gem::Requirement
72
95
  requirements:
73
96
  - - ">="
74
97
  - !ruby/object:Gem::Version
75
- version: '0'
98
+ version: '1.0'
99
+ - - "<"
100
+ - !ruby/object:Gem::Version
101
+ version: '2'
76
102
  type: :runtime
77
103
  prerelease: false
78
104
  version_requirements: !ruby/object:Gem::Requirement
79
105
  requirements:
80
106
  - - ">="
81
107
  - !ruby/object:Gem::Version
82
- version: '0'
108
+ version: '1.0'
109
+ - - "<"
110
+ - !ruby/object:Gem::Version
111
+ version: '2'
83
112
  - !ruby/object:Gem::Dependency
84
- name: semantic-ui-sass
113
+ name: pg
85
114
  requirement: !ruby/object:Gem::Requirement
86
115
  requirements:
87
116
  - - ">="
88
117
  - !ruby/object:Gem::Version
89
- version: '0'
118
+ version: '1.2'
119
+ - - "<"
120
+ - !ruby/object:Gem::Version
121
+ version: '2'
90
122
  type: :runtime
91
123
  prerelease: false
92
124
  version_requirements: !ruby/object:Gem::Requirement
93
125
  requirements:
94
126
  - - ">="
95
127
  - !ruby/object:Gem::Version
96
- version: '0'
128
+ version: '1.2'
129
+ - - "<"
130
+ - !ruby/object:Gem::Version
131
+ version: '2'
97
132
  - !ruby/object:Gem::Dependency
98
- name: pg
133
+ name: connection_pool
99
134
  requirement: !ruby/object:Gem::Requirement
100
135
  requirements:
101
136
  - - ">="
102
137
  - !ruby/object:Gem::Version
103
- version: '0'
138
+ version: '3.0'
139
+ - - "<"
140
+ - !ruby/object:Gem::Version
141
+ version: '4'
104
142
  type: :runtime
105
143
  prerelease: false
106
144
  version_requirements: !ruby/object:Gem::Requirement
107
145
  requirements:
108
146
  - - ">="
109
147
  - !ruby/object:Gem::Version
110
- version: '0'
111
- description: A graphical user interface for your PGBouncers
148
+ version: '3.0'
149
+ - - "<"
150
+ - !ruby/object:Gem::Version
151
+ version: '4'
152
+ - !ruby/object:Gem::Dependency
153
+ name: rake
154
+ requirement: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '13.0'
159
+ type: :development
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '13.0'
166
+ - !ruby/object:Gem::Dependency
167
+ name: tailwindcss-rails
168
+ requirement: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '4.0'
173
+ type: :development
174
+ prerelease: false
175
+ version_requirements: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '4.0'
180
+ - !ruby/object:Gem::Dependency
181
+ name: minitest
182
+ requirement: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
185
+ - !ruby/object:Gem::Version
186
+ version: '6.0'
187
+ type: :development
188
+ prerelease: false
189
+ version_requirements: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: '6.0'
194
+ - !ruby/object:Gem::Dependency
195
+ name: appraisal
196
+ requirement: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: '2.5'
201
+ type: :development
202
+ prerelease: false
203
+ version_requirements: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - "~>"
206
+ - !ruby/object:Gem::Version
207
+ version: '2.5'
208
+ - !ruby/object:Gem::Dependency
209
+ name: rubocop
210
+ requirement: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - "~>"
213
+ - !ruby/object:Gem::Version
214
+ version: '1.0'
215
+ type: :development
216
+ prerelease: false
217
+ version_requirements: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - "~>"
220
+ - !ruby/object:Gem::Version
221
+ version: '1.0'
222
+ - !ruby/object:Gem::Dependency
223
+ name: rubocop-rails-omakase
224
+ requirement: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - "~>"
227
+ - !ruby/object:Gem::Version
228
+ version: '1.0'
229
+ type: :development
230
+ prerelease: false
231
+ version_requirements: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - "~>"
234
+ - !ruby/object:Gem::Version
235
+ version: '1.0'
236
+ - !ruby/object:Gem::Dependency
237
+ name: herb
238
+ requirement: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - "~>"
241
+ - !ruby/object:Gem::Version
242
+ version: '0.8'
243
+ type: :development
244
+ prerelease: false
245
+ version_requirements: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - "~>"
248
+ - !ruby/object:Gem::Version
249
+ version: '0.8'
250
+ description: A Rails engine providing a web dashboard for monitoring and managing
251
+ one or multiple PgBouncer connection poolers.
112
252
  email:
113
253
  - contact@quent.in
114
254
  executables: []
115
255
  extensions: []
116
256
  extra_rdoc_files: []
117
257
  files:
118
- - ".gitignore"
119
258
  - CHANGELOG.md
120
- - Gemfile
121
259
  - LICENSE.txt
122
260
  - README.md
123
- - app/assets/images/pgbouncerhero/short-paragraph.png
124
- - app/assets/javascripts/pgbouncerhero/application.js
125
- - app/assets/stylesheets/pgbouncerhero/application.css.scss
261
+ - app/assets/builds/pgbouncerhero/application.css
262
+ - app/assets/stylesheets/pgbouncerhero/application.css
126
263
  - app/controllers/pg_bouncer_hero/application_controller.rb
127
264
  - app/controllers/pg_bouncer_hero/database_controller.rb
128
265
  - app/controllers/pg_bouncer_hero/home_controller.rb
129
266
  - app/helpers/pg_bouncer_hero/application_helper.rb
267
+ - app/javascript/pgbouncerhero/application.js
268
+ - app/javascript/pgbouncerhero/controllers/polling_controller.js
130
269
  - app/views/layouts/pg_bouncer_hero/application.html.erb
131
270
  - app/views/pg_bouncer_hero/database/_actions.html.erb
132
271
  - app/views/pg_bouncer_hero/database/_clients.html.erb
@@ -134,23 +273,23 @@ files:
134
273
  - app/views/pg_bouncer_hero/database/_databases.html.erb
135
274
  - app/views/pg_bouncer_hero/database/_menu.html.erb
136
275
  - app/views/pg_bouncer_hero/database/_pools.html.erb
276
+ - app/views/pg_bouncer_hero/database/_state.html.erb
137
277
  - app/views/pg_bouncer_hero/database/_stats.html.erb
138
278
  - app/views/pg_bouncer_hero/database/clients.html.erb
139
279
  - app/views/pg_bouncer_hero/database/conf.html.erb
140
280
  - app/views/pg_bouncer_hero/database/databases.html.erb
141
281
  - app/views/pg_bouncer_hero/database/pools.html.erb
282
+ - app/views/pg_bouncer_hero/database/state.html.erb
142
283
  - app/views/pg_bouncer_hero/database/stats.html.erb
143
- - app/views/pg_bouncer_hero/database/summary.js.erb
284
+ - app/views/pg_bouncer_hero/database/summary.html.erb
144
285
  - app/views/pg_bouncer_hero/home/_card.html.erb
145
286
  - app/views/pg_bouncer_hero/home/_card_content.html.erb
146
287
  - app/views/pg_bouncer_hero/home/_card_loading_content.html.erb
147
288
  - app/views/pg_bouncer_hero/home/index.html.erb
148
289
  - app/views/shared/_alert.html.erb
149
290
  - app/views/shared/_flash_messages.html.erb
291
+ - config/importmap.rb
150
292
  - config/routes.rb
151
- - doc/screenshot-1.png
152
- - doc/screenshot-2.png
153
- - doc/screenshot-3.png
154
293
  - lib/generators/pgbouncerhero/config_generator.rb
155
294
  - lib/generators/pgbouncerhero/templates/config.yml
156
295
  - lib/pgbouncerhero.rb
@@ -160,12 +299,15 @@ files:
160
299
  - lib/pgbouncerhero/group.rb
161
300
  - lib/pgbouncerhero/methods/basics.rb
162
301
  - lib/pgbouncerhero/version.rb
163
- - pgbouncerhero.gemspec
164
302
  homepage: https://github.com/kwent/pgbouncerhero
165
303
  licenses:
166
304
  - MIT
167
- metadata: {}
168
- post_install_message:
305
+ metadata:
306
+ source_code_uri: https://github.com/kwent/pgbouncerhero
307
+ changelog_uri: https://github.com/kwent/pgbouncerhero/blob/master/CHANGELOG.md
308
+ documentation_uri: https://github.com/kwent/pgbouncerhero#readme
309
+ bug_tracker_uri: https://github.com/kwent/pgbouncerhero/issues
310
+ rubygems_mfa_required: 'true'
169
311
  rdoc_options: []
170
312
  require_paths:
171
313
  - lib
@@ -173,15 +315,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
173
315
  requirements:
174
316
  - - ">="
175
317
  - !ruby/object:Gem::Version
176
- version: '0'
318
+ version: '3.2'
177
319
  required_rubygems_version: !ruby/object:Gem::Requirement
178
320
  requirements:
179
321
  - - ">="
180
322
  - !ruby/object:Gem::Version
181
323
  version: '0'
182
324
  requirements: []
183
- rubygems_version: 3.0.3.1
184
- signing_key:
325
+ rubygems_version: 3.6.9
185
326
  specification_version: 4
186
- summary: A graphical user interface for your PGBouncers
327
+ summary: A graphical user interface for your PgBouncers
187
328
  test_files: []
data/.gitignore DELETED
@@ -1,19 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- *.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- lib/bundler/man
11
- pkg
12
- rdoc
13
- tmp
14
- *.bundle
15
- *.so
16
- *.o
17
- *.a
18
- mkmf.log
19
- .ruby-version
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- # Specify your gem's dependencies in pgbouncerhero.gemspec
4
- gemspec
@@ -1,3 +0,0 @@
1
- //= require jquery
2
- //= require jquery_ujs
3
- //= require semantic-ui
@@ -1,15 +0,0 @@
1
- @import "semantic-ui";
2
-
3
- body {
4
- margin: 0;
5
- padding-top: 50px;
6
- background-color: #eee;
7
- }
8
-
9
- .ui.main.container {
10
- padding: 10px;
11
- }
12
-
13
- .wireframe.image {
14
- opacity: 0.5;
15
- }
@@ -1,5 +0,0 @@
1
- $("#segment_status_<%= @database.group.name.parameterize %>_<%= @database.name.parameterize %>").html("<%= j(@database.connection ? "Online" : "Offline") %>")
2
- $("#segment_status_<%= @database.group.name.parameterize %>_<%= @database.name.parameterize %>").removeClass("grey negative positive").addClass("<%= j(@database.connection ? "positive" : "negative") %>")
3
- $("#segment_content_<%= @database.group.name.parameterize %>_<%= @database.name.parameterize %>").replaceWith("<%= j(render partial: 'pg_bouncer_hero/home/card_content', locals: {database: @database, id: "segment_content_#{@database.group.name.parameterize}_#{@database.name.parameterize}"}) %>")
4
- $("#segment_refreshed_<%= @database.group.name.parameterize %>_<%= @database.name.parameterize %>").css('display', '')
5
- $("#segment_content_<%= @database.group.name.parameterize %>_<%= @database.name.parameterize %> .ui.progress").each(function(idx, el) { $(el).progress({ text: {active: '{value} of {total} connections'}, autoSuccess: false }); });
data/doc/screenshot-1.png DELETED
Binary file
data/doc/screenshot-2.png DELETED
Binary file
data/doc/screenshot-3.png DELETED
Binary file
@@ -1,32 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path("../lib", __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "pgbouncerhero/version"
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = "pgbouncerhero"
8
- spec.version = PgBouncerHero::VERSION
9
- spec.authors = ["Quentin Rousseau"]
10
- spec.email = ["contact@quent.in"]
11
- spec.summary = "A graphical user interface for your PGBouncers"
12
- spec.description = "A graphical user interface for your PGBouncers"
13
- spec.homepage = "https://github.com/kwent/pgbouncerhero"
14
- spec.license = "MIT"
15
-
16
- spec.files = `git ls-files -z`.split("\x0")
17
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
- spec.require_paths = ["lib"]
19
-
20
- spec.add_development_dependency "bundler", "~> 1.6"
21
- spec.add_development_dependency "rake"
22
- spec.add_development_dependency "minitest"
23
- spec.add_runtime_dependency "sass-rails"
24
- spec.add_runtime_dependency "jquery-rails"
25
- spec.add_runtime_dependency "semantic-ui-sass"
26
-
27
- if RUBY_PLATFORM == "java"
28
- spec.add_runtime_dependency "pg_jruby"
29
- else
30
- spec.add_runtime_dependency "pg"
31
- end
32
- end