rails-pg-extras 5.4.3 → 5.5.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.
- checksums.yaml +4 -4
- data/.gitattributes +2 -0
- data/README.md +1 -1
- data/app/controllers/rails_pg_extras/web/application_controller.rb +16 -3
- data/lib/rails-pg-extras.rb +9 -1
- data/lib/rails_pg_extras/version.rb +1 -1
- data/lib/rails_pg_extras/web/engine.rb +1 -1
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7a02d3f90a286c80e215584b471293e8f2aaaaf33a56c56ca42e938d763b08dd
|
4
|
+
data.tar.gz: 6326377418830e39a9105347a61e65837e64c1c80e390faa661a98468d6ad565
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f89bd2d2b48f6cc82d9b0663e8d8a02f317d6aa4cc1052f0b123a126abf4bb5286068f1844b82a78c49b5b3fc835331fe16c7488ebc7ecd3b00bbdfeefcfe62
|
7
|
+
data.tar.gz: 33fdf43584ee3b879c2497ff28fe90f6494bbdadb77732692805cd99c25ec569d8ce94ff0839a4a255d92c36a5015df2b2f623cc04a8bd1d86dacd4306a45a09
|
data/.gitattributes
ADDED
data/README.md
CHANGED
@@ -135,7 +135,7 @@ You can enable UI using a Rails engine by adding the following code in `config/r
|
|
135
135
|
mount RailsPgExtras::Web::Engine, at: 'pg_extras'
|
136
136
|
```
|
137
137
|
|
138
|
-
You can enable HTTP basic auth by specifying `RAILS_PG_EXTRAS_USER` and `RAILS_PG_EXTRAS_PASSWORD`
|
138
|
+
You can enable HTTP basic auth by specifying `Rails.application.credentials.pg_extras.user` (or `RAILS_PG_EXTRAS_USER`) and `Rails.application.credentials.pg_extras.user` (or `RAILS_PG_EXTRAS_PASSWORD`) values. Authentication is mandatory unless you specify `RAILS_PG_EXTRAS_PUBLIC_DASHBOARD=true` or set `RailsPgExtras.configuration.public_dashboard = true`.
|
139
139
|
|
140
140
|
You can configure available web actions in `config/initializers/rails_pg_extras.rb`:
|
141
141
|
|
@@ -14,14 +14,27 @@ module RailsPgExtras::Web
|
|
14
14
|
|
15
15
|
ACTIONS = %i[kill_all pg_stat_statements_reset add_extensions]
|
16
16
|
|
17
|
-
|
18
|
-
|
17
|
+
user = get_user
|
18
|
+
password = get_password
|
19
|
+
|
20
|
+
if user.present? && password.present?
|
21
|
+
http_basic_authenticate_with name: user, password: password
|
19
22
|
end
|
20
23
|
|
21
24
|
def validate_credentials!
|
22
|
-
if (
|
25
|
+
if (get_user.blank? || get_password.blank?) && RailsPgExtras.configuration.public_dashboard != true
|
23
26
|
raise "Missing credentials for rails-pg-extras dashboard! If you want to enable public dashboard please set RAILS_PG_EXTRAS_PUBLIC_DASHBOARD=true"
|
24
27
|
end
|
25
28
|
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def get_user
|
33
|
+
Rails.application.try(:credentials).try(:pg_extras).try(:user) || ENV["RAILS_PG_EXTRAS_USER"]
|
34
|
+
end
|
35
|
+
|
36
|
+
def get_password
|
37
|
+
Rails.application.try(:credentials).try(:pg_extras).try(:password) || ENV["RAILS_PG_EXTRAS_PASSWORD"]
|
38
|
+
end
|
26
39
|
end
|
27
40
|
end
|
data/lib/rails-pg-extras.rb
CHANGED
@@ -152,7 +152,15 @@ module RailsPgExtras
|
|
152
152
|
|
153
153
|
def self.connection
|
154
154
|
if (db_url = ENV["RAILS_PG_EXTRAS_DATABASE_URL"])
|
155
|
-
ActiveRecord::Base.establish_connection(db_url)
|
155
|
+
connector = ActiveRecord::Base.establish_connection(db_url)
|
156
|
+
|
157
|
+
if connector.respond_to?(:connection)
|
158
|
+
connector.connection
|
159
|
+
elsif connector.respond_to?(:lease_connection)
|
160
|
+
connector.lease_connection
|
161
|
+
else
|
162
|
+
raise "Unsupported connector: #{connector.class}"
|
163
|
+
end
|
156
164
|
else
|
157
165
|
ActiveRecord::Base.connection
|
158
166
|
end
|
@@ -5,7 +5,7 @@ module RailsPgExtras::Web
|
|
5
5
|
isolate_namespace RailsPgExtras::Web
|
6
6
|
config.middleware.use ActionDispatch::Flash
|
7
7
|
initializer "static assets" do |app|
|
8
|
-
app.middleware.insert_before(
|
8
|
+
app.middleware.insert_before(0, ::ActionDispatch::Static, "#{RailsPgExtras::Web::Engine.root}/assets")
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-pg-extras
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- pawurb
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby-pg-extras
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 5.
|
19
|
+
version: 5.5.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: 5.
|
26
|
+
version: 5.5.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rails
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -89,6 +89,7 @@ executables: []
|
|
89
89
|
extensions: []
|
90
90
|
extra_rdoc_files: []
|
91
91
|
files:
|
92
|
+
- ".gitattributes"
|
92
93
|
- ".github/workflows/ci.yml"
|
93
94
|
- ".gitignore"
|
94
95
|
- Gemfile
|
@@ -148,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
148
149
|
- !ruby/object:Gem::Version
|
149
150
|
version: '0'
|
150
151
|
requirements: []
|
151
|
-
rubygems_version: 3.5.
|
152
|
+
rubygems_version: 3.5.16
|
152
153
|
signing_key:
|
153
154
|
specification_version: 4
|
154
155
|
summary: Rails PostgreSQL performance database insights
|