rails-pg-extras 5.3.0 → 5.4.0

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: 6b65d13da46887feb4613989005880cccc3f364409196d3e243e2fa741c778f0
4
- data.tar.gz: 32af66da2e162cc33886c843cd5a9eccf73927557db042de874d4069aa4245a2
3
+ metadata.gz: 61f5b6a2a631c8d8099b67c1c28334cbc3ce64dddd53e3977877265362a04d71
4
+ data.tar.gz: ec8b4100e944153f9be8ddb8d9286441bf449f3262392129615dd0df28212a0c
5
5
  SHA512:
6
- metadata.gz: a38495774e883472f92b4c0782de90c2475247fbdc061f4d8c5e3fd10b034429832ac6de09cb214f8af375c70286e83f94eb15af4487319779b8599628122d7f
7
- data.tar.gz: a6e32c538a51e26647a4373759015dd635c0659e28ad603a4ee1bb80619a450ab8f78b60d54707c487a147767d7d4811cd09808f7aec8e136ce37277a13284ca
6
+ metadata.gz: af548830ba4e66131a55a093bbc14f23907c0b9ad6335322ce6d20dedf76872f05cc40afa00eef996943044e9cc0b0b93a869b2859011e1729eb9b63f1cff311
7
+ data.tar.gz: 2bcf26a2ad56ff96715a15abd276d990a312e8d1d7d643c45f315ae8629e987534f91bc18be82d9cefe7e6b08eab4fb631046dec2c38987e5ed524d5c5a77ab7
@@ -57,8 +57,7 @@ jobs:
57
57
  ruby-version: ${{ matrix.ruby-version }}
58
58
  - name: Setup dependencies
59
59
  run: |
60
- gem update --system
61
- gem install bundler
60
+ gem install bundler -v 2.4.22
62
61
  sudo apt-get update --allow-releaseinfo-change
63
62
  sudo apt install postgresql-client
64
63
  sudo apt install libpq-dev
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
3
  gemspec
data/README.md CHANGED
@@ -6,7 +6,7 @@ Included rake tasks and Ruby methods can be used to obtain information about a P
6
6
 
7
7
  You can read this blog post for detailed step by step tutorial on how to [optimize PostgreSQL using PG Extras library](https://pawelurbanek.com/postgresql-fix-performance).
8
8
 
9
- **Shameless plug:** rails-pg-extras is one of the tools that I use when conducting Rails performance audits. [Check out my offer](https://pawelurbanek.com/#rails-performance-tuning) if you need help with fine-tuning your app.
9
+ **Shameless plug:** rails-pg-extras is just one of the tools that I use when conducting [Rails performance audits](https://pawelurbanek.com/optimize-rails-performance). Check out my offer if you need help with optimizing your application.
10
10
 
11
11
  Optionally you can enable a visual interface:
12
12
 
@@ -16,6 +16,8 @@ Alternative versions:
16
16
 
17
17
  - Core dependency - [Ruby](https://github.com/pawurb/ruby-pg-extras)
18
18
 
19
+ - [Rust](https://github.com/pawurb/rust-pg-extras)
20
+
19
21
  - [NodeJS](https://github.com/pawurb/node-postgres-extras)
20
22
 
21
23
  - [Elixir](https://github.com/pawurb/ecto_psql_extras)
@@ -109,6 +111,8 @@ By default, queries target the `public` schema of the database. You can specify
109
111
  RailsPgExtras.table_cache_hit(args: { schema: "my_schema" })
110
112
  ```
111
113
 
114
+ You can customize the default `public` schema by setting `ENV['PG_EXTRAS_SCHEMA']` value.
115
+
112
116
  ## Diagnose report
113
117
 
114
118
  The simplest way to start using pg-extras is to execute a `diagnose` method. It runs a set of checks and prints out a report highlighting areas that may require additional investigation:
@@ -544,7 +548,7 @@ This command displays the total size of each table and materialized view in the
544
548
  ### `unused_indexes`
545
549
 
546
550
  ```ruby
547
- RailsPgExtras.unused_indexes(args: { max_scans: 20 })
551
+ RailsPgExtras.unused_indexes(args: { max_scans: 50 })
548
552
 
549
553
  $ rake pg_extras:unused_indexes
550
554
 
data/Rakefile CHANGED
@@ -1,10 +1,9 @@
1
1
  require "bundler/gem_tasks"
2
- require 'rspec/core/rake_task'
2
+ require "rspec/core/rake_task"
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- desc 'Test all PG versions'
6
+ desc "Test all PG versions"
7
7
  task :test_all do
8
8
  system("PG_VERSION=11 bundle exec rspec spec/ && PG_VERSION=12 bundle exec rspec spec/ && PG_VERSION=13 bundle exec rspec spec/ && PG_VERSION=14 bundle exec rspec spec/")
9
9
  end
10
-
@@ -9,17 +9,17 @@ module RailsPgExtras::Web
9
9
  REQUIRED_EXTENSIONS = {
10
10
  pg_stat_statements: %i[calls outliers pg_stat_statements_reset],
11
11
  pg_buffercache: %i[buffercache_stats buffercache_usage],
12
- sslinfo: %i[ssl_used]
12
+ sslinfo: %i[ssl_used],
13
13
  }
14
14
 
15
15
  ACTIONS = %i[kill_all pg_stat_statements_reset add_extensions]
16
16
 
17
- if ENV['RAILS_PG_EXTRAS_USER'].present? && ENV['RAILS_PG_EXTRAS_PASSWORD'].present?
18
- http_basic_authenticate_with name: ENV.fetch('RAILS_PG_EXTRAS_USER'), password: ENV.fetch('RAILS_PG_EXTRAS_PASSWORD')
17
+ if ENV["RAILS_PG_EXTRAS_USER"].present? && ENV["RAILS_PG_EXTRAS_PASSWORD"].present?
18
+ http_basic_authenticate_with name: ENV.fetch("RAILS_PG_EXTRAS_USER"), password: ENV.fetch("RAILS_PG_EXTRAS_PASSWORD")
19
19
  end
20
20
 
21
21
  def validate_credentials!
22
- if (ENV['RAILS_PG_EXTRAS_USER'].blank? || ENV['RAILS_PG_EXTRAS_PASSWORD'].blank?) && !RailsPgExtras.configuration.public_dashboard
22
+ if (ENV["RAILS_PG_EXTRAS_USER"].blank? || ENV["RAILS_PG_EXTRAS_PASSWORD"].blank?) && !RailsPgExtras.configuration.public_dashboard
23
23
  raise "Missing credentials for rails-pg-extras dashboard! If you want to enable public dashboard please set RAILS_PG_EXTRAS_PUBLIC_DASHBOARD=true"
24
24
  end
25
25
  end
@@ -38,7 +38,7 @@ module RailsPgExtras::Web
38
38
  return @unavailable_extensions if defined?(@unavailable_extensions)
39
39
 
40
40
  enabled_extensions = ActiveRecord::Base.connection.extensions
41
- @unavailable_extensions = REQUIRED_EXTENSIONS.delete_if { |ext| ext.to_s.in?(enabled_extensions) }
41
+ @unavailable_extensions = REQUIRED_EXTENSIONS.delete_if { |ext| ext.to_s.in?(enabled_extensions) }
42
42
  end
43
43
  end
44
44
  end
@@ -1,7 +1,7 @@
1
1
  <h1 class="font-bold text-xl my-5">Diagnose</h1>
2
2
  <table class="w-full font-mono border-collapse border my-5">
3
3
  <% RailsPgExtras.diagnose(in_format: :hash).each do |diagnosis| %>
4
- <tr class="<%= diagnosis[:ok] ? 'bg-green-300' : 'bg-red-300' %>">
4
+ <tr class="<%= diagnosis[:ok] ? "bg-green-300" : "bg-red-300" %>">
5
5
  <td class='p-1 border font-bold'><%= diagnosis[:check_name] %></td>
6
6
  <td class='p-1 border'><%= diagnosis[:message] %></td>
7
7
  </tr>
@@ -1,15 +1,15 @@
1
1
  <div class="text-red-500 p-3 font-mono my-5">
2
- <% unavailable_extensions.each do |extension, queries| %>
2
+ <% unavailable_extensions.each do |extension, queries| %>
3
3
  WARNING: Queries <%= queries.map { |q| "<b><u>#{q}</u></b>" }.join(", ").html_safe %> require extension: <b><%= extension %></b>
4
4
  <br>
5
- <% end %>
5
+ <% end %>
6
6
  </div>
7
7
 
8
- <% if RailsPgExtras::Web.action_enabled?(:add_extensions) %>
9
- <%= link_to "Enable extensions", add_extensions_action_path,
10
- method: "post",
11
- data: {
12
- confirm: "This command will enable following extensions: #{unavailable_extensions.keys.join(', ')}. Do you want to proceeed?"
13
- }, class: 'border p-3 bg-green-500 text-white hover:bg-green-600 font-bold rounded' %>
14
- <% end %>
8
+ <% if RailsPgExtras::Web.action_enabled?(:add_extensions) %>
9
+ <%= link_to "Enable extensions", add_extensions_action_path,
10
+ method: "post",
11
+ data: {
12
+ confirm: "This command will enable following extensions: #{unavailable_extensions.keys.join(", ")}. Do you want to proceeed?",
13
+ }, class: "border p-3 bg-green-500 text-white hover:bg-green-600 font-bold rounded" %>
14
+ <% end %>
15
15
 
@@ -6,20 +6,18 @@
6
6
  <h1 class="font-bold text-xl my-5">Actions</h1>
7
7
 
8
8
  <% if RailsPgExtras::Web.action_enabled?(:kill_all) %>
9
- <%= link_to "kill_all", kill_all_action_path,
10
- method: "post",
11
- data: {
12
- confirm: "This commands kills all the currently active connections to the database. Do you want to proceed?"
13
- },
14
- class: 'border p-3 bg-red-500 text-white hover:bg-red-600 font-bold rounded'
15
- %>
9
+ <%= link_to "kill_all", kill_all_action_path,
10
+ method: "post",
11
+ data: {
12
+ confirm: "This commands kills all the currently active connections to the database. Do you want to proceed?",
13
+ },
14
+ class: "border p-3 bg-red-500 text-white hover:bg-red-600 font-bold rounded" %>
16
15
  <% end %>
17
16
 
18
17
  <% if RailsPgExtras::Web.action_enabled?(:pg_stat_statements_reset) && unavailable_extensions.exclude?(:pg_stat_statements) %>
19
18
  <%= link_to "pg_stat_statements_reset", pg_stat_statements_reset_action_path,
20
- method: "post",
21
- data: {
22
- confirm: "This command discards all statistics gathered so far by pg_stat_statements. Do you want to proceed?"
23
- }, class: 'border p-3 bg-blue-500 text-white hover:bg-blue-600 font-bold rounded'
24
- %>
19
+ method: "post",
20
+ data: {
21
+ confirm: "This command discards all statistics gathered so far by pg_stat_statements. Do you want to proceed?",
22
+ }, class: "border p-3 bg-blue-500 text-white hover:bg-blue-600 font-bold rounded" %>
25
23
  <% end %>
@@ -1,19 +1,18 @@
1
- <%= content_for :title, params[:query_name].presence || "pg_extras" %>
2
- <%= render "rails_pg_extras/web/shared/queries_selector" %>
1
+ <%= content_for :title, params[:query_name].presence || "pg_extras" %>
2
+ <%= render "rails_pg_extras/web/shared/queries_selector" %>
3
3
 
4
- <% if @error %>
4
+ <% if @error %>
5
5
  <div class="text-red-500 p-3 font-mono my-5"><%= @error %></div>
6
- <% else %>
7
- <% if @result&.any? %>
8
- <%= render "result",
9
- title: RubyPgExtras.description_for(query_name: @query_name),
10
- headers: @result[0].keys,
11
- rows: @result.values
12
- %>
13
- <% else %>
6
+ <% else %>
7
+ <% if @result&.any? %>
8
+ <%= render "result",
9
+ title: RubyPgExtras.description_for(query_name: @query_name),
10
+ headers: @result[0].keys,
11
+ rows: @result.values %>
12
+ <% else %>
14
13
  <div class="font-mono p-3 bg-gray-100 mt-3">No results</div>
15
- <% end %>
16
- <% end %>
14
+ <% end %>
15
+ <% end %>
17
16
 
18
17
  <style>
19
18
  @media print {
@@ -1,8 +1,7 @@
1
- <%= form_tag queries_path, id: "queries", method: :get do |f| %>
2
- <%= select_tag :query_name, options_for_select(@all_queries, params[:query_name]),
3
- {prompt: "--- select query ---", class: "border p-2 font-bold", autofocus: true}
4
- %>
5
- <% end %>
1
+ <%= form_tag queries_path, id: "queries", method: :get do |f| %>
2
+ <%= select_tag :query_name, options_for_select(@all_queries, params[:query_name]),
3
+ { prompt: "--- select query ---", class: "border p-2 font-bold", autofocus: true } %>
4
+ <% end %>
6
5
 
7
6
  <%= javascript_tag nonce: true do -%>
8
7
  document.getElementById('queries').addEventListener('change', (e) => {
data/config/routes.rb CHANGED
@@ -1,9 +1,9 @@
1
1
  RailsPgExtras::Web::Engine.routes.draw do
2
2
  resources :queries, only: [:index]
3
3
 
4
- post "/actions/kill_all" => "actions#kill_all", as: :kill_all_action
5
- post "/actions/pg_stat_statements_reset" => "actions#pg_stat_statements_reset", as: :pg_stat_statements_reset_action
6
- post "/actions/add_extensions" => "actions#add_extensions", as: :add_extensions_action
4
+ post "/actions/kill_all", to: "actions#kill_all", as: :kill_all_action
5
+ post "/actions/pg_stat_statements_reset", to: "actions#pg_stat_statements_reset", as: :pg_stat_statements_reset_action
6
+ post "/actions/add_extensions", to: "actions#add_extensions", as: :add_extensions_action
7
7
 
8
8
  root to: "queries#index"
9
9
  end
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'terminal-table'
4
- require 'ruby-pg-extras'
5
- require 'rails_pg_extras/diagnose_data'
6
- require 'rails_pg_extras/diagnose_print'
7
- require 'rails_pg_extras/index_info'
8
- require 'rails_pg_extras/index_info_print'
9
- require 'rails_pg_extras/table_info'
10
- require 'rails_pg_extras/table_info_print'
3
+ require "terminal-table"
4
+ require "ruby-pg-extras"
5
+ require "rails_pg_extras/diagnose_data"
6
+ require "rails_pg_extras/diagnose_print"
7
+ require "rails_pg_extras/index_info"
8
+ require "rails_pg_extras/index_info_print"
9
+ require "rails_pg_extras/table_info"
10
+ require "rails_pg_extras/table_info_print"
11
11
 
12
12
  module RailsPgExtras
13
13
  QUERIES = RubyPgExtras::QUERIES
@@ -19,34 +19,36 @@ module RailsPgExtras
19
19
  run_query(
20
20
  query_name: query_name,
21
21
  in_format: options.fetch(:in_format, :display_table),
22
- args: options.fetch(:args, {})
22
+ args: options.fetch(:args, {}),
23
23
  )
24
24
  end
25
25
  end
26
26
 
27
27
  def self.run_query(query_name:, in_format:, args: {})
28
28
  if %i(calls outliers).include?(query_name)
29
- pg_stat_statements_ver = RailsPgExtras.connection.execute("select installed_version from pg_available_extensions where name='pg_stat_statements'")
30
- .to_a[0].fetch("installed_version", nil)
31
- if pg_stat_statements_ver != nil
32
- if Gem::Version.new(pg_stat_statements_ver) < Gem::Version.new(NEW_PG_STAT_STATEMENTS)
29
+ pg_stat_statements_version_sql = "SELECT installed_version
30
+ FROM pg_available_extensions
31
+ WHERE name = 'pg_stat_statements'"
32
+ if (version = RailsPgExtras.connection.execute(pg_stat_statements_version_sql)
33
+ .to_a[0].fetch("installed_version", nil))
34
+ if Gem::Version.new(version) < Gem::Version.new(NEW_PG_STAT_STATEMENTS)
33
35
  query_name = "#{query_name}_legacy".to_sym
34
36
  end
35
37
  end
36
38
  end
37
39
 
38
40
  sql = if (custom_args = DEFAULT_ARGS[query_name].merge(args)) != {}
39
- RubyPgExtras.sql_for(query_name: query_name) % custom_args
40
- else
41
- RubyPgExtras.sql_for(query_name: query_name)
42
- end
41
+ RubyPgExtras.sql_for(query_name: query_name) % custom_args
42
+ else
43
+ RubyPgExtras.sql_for(query_name: query_name)
44
+ end
43
45
 
44
46
  result = connection.execute(sql)
45
47
 
46
48
  RubyPgExtras.display_result(
47
49
  result,
48
50
  title: RubyPgExtras.description_for(query_name: query_name),
49
- in_format: in_format
51
+ in_format: in_format,
50
52
  )
51
53
  end
52
54
 
@@ -74,10 +76,10 @@ module RailsPgExtras
74
76
  sql_duration = 0
75
77
 
76
78
  method_name = if ActiveSupport::Notifications.respond_to?(:monotonic_subscribe)
77
- :monotonic_subscribe
78
- else
79
- :subscribe
80
- end
79
+ :monotonic_subscribe
80
+ else
81
+ :subscribe
82
+ end
81
83
 
82
84
  subscriber = ActiveSupport::Notifications.public_send(method_name, "sql.active_record") do |_name, start, finish, _id, payload|
83
85
  unless payload[:name] =~ /SCHEMA/
@@ -113,11 +115,10 @@ module RailsPgExtras
113
115
  count: queries.reduce(0) { |agg, val| agg + val[1].fetch(:count) },
114
116
  queries: queries,
115
117
  total_duration: total_duration.round(2),
116
- sql_duration: sql_duration.round(2)
118
+ sql_duration: sql_duration.round(2),
117
119
  }
118
120
  end
119
121
 
120
-
121
122
  def self.index_info(args: {}, in_format: :display_table)
122
123
  data = RailsPgExtras::IndexInfo.call(args[:table_name])
123
124
 
@@ -147,7 +148,7 @@ module RailsPgExtras
147
148
  end
148
149
 
149
150
  def self.connection
150
- if (db_url = ENV['RAILS_PG_EXTRAS_DATABASE_URL'])
151
+ if (db_url = ENV["RAILS_PG_EXTRAS_DATABASE_URL"])
151
152
  ActiveRecord::Base.establish_connection(db_url).connection
152
153
  else
153
154
  ActiveRecord::Base.connection
@@ -155,6 +156,6 @@ module RailsPgExtras
155
156
  end
156
157
  end
157
158
 
158
- require 'rails_pg_extras/web'
159
- require 'rails_pg_extras/configuration'
160
- require 'rails_pg_extras/railtie' if defined?(Rails)
159
+ require "rails_pg_extras/web"
160
+ require "rails_pg_extras/configuration"
161
+ require "rails_pg_extras/railtie" if defined?(Rails)
@@ -2,7 +2,6 @@
2
2
 
3
3
  module RailsPgExtras
4
4
  class DiagnoseData < ::RubyPgExtras::DiagnoseData
5
-
6
5
  private
7
6
 
8
7
  def query_module
@@ -2,7 +2,6 @@
2
2
 
3
3
  module RailsPgExtras
4
4
  class DiagnosePrint < ::RubyPgExtras::DiagnosePrint
5
-
6
5
  private
7
6
 
8
7
  def title
@@ -2,6 +2,6 @@
2
2
 
3
3
  class RailsPgExtras::Railtie < Rails::Railtie
4
4
  rake_tasks do
5
- load 'rails_pg_extras/tasks/all.rake'
5
+ load "rails_pg_extras/tasks/all.rake"
6
6
  end
7
7
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'rails-pg-extras'
3
+ require "rails-pg-extras"
4
4
 
5
5
  namespace :pg_extras do
6
6
  RailsPgExtras::QUERIES.each do |query_name|
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsPgExtras
4
- VERSION = "5.3.0"
4
+ VERSION = "5.4.0"
5
5
  end
@@ -1,4 +1,4 @@
1
- require 'rails'
1
+ require "rails"
2
2
 
3
3
  module RailsPgExtras::Web
4
4
  class Engine < ::Rails::Engine
@@ -1,24 +1,25 @@
1
1
  # -*- encoding: utf-8 -*-
2
- lib = File.expand_path('../lib', __FILE__)
2
+ lib = File.expand_path("../lib", __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'rails_pg_extras/version'
4
+ require "rails_pg_extras/version"
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = "rails-pg-extras"
8
- s.version = RailsPgExtras::VERSION
9
- s.authors = ["pawurb"]
10
- s.email = ["contact@pawelurbanek.com"]
11
- s.summary = %q{ Rails PostgreSQL performance database insights }
12
- s.description = %q{ Rails port of Heroku PG Extras. The goal of this project is to provide a powerful insights into PostgreSQL database for Ruby on Rails apps that are not using the default Heroku PostgreSQL plugin. }
13
- s.homepage = "http://github.com/pawurb/rails-pg-extras"
14
- s.files = `git ls-files`.split("\n")
15
- s.test_files = s.files.grep(%r{^(spec)/})
7
+ s.name = "rails-pg-extras"
8
+ s.version = RailsPgExtras::VERSION
9
+ s.authors = ["pawurb"]
10
+ s.email = ["contact@pawelurbanek.com"]
11
+ s.summary = %q{ Rails PostgreSQL performance database insights }
12
+ s.description = %q{ Rails port of Heroku PG Extras. The goal of this project is to provide a powerful insights into PostgreSQL database for Ruby on Rails apps that are not using the default Heroku PostgreSQL plugin. }
13
+ s.homepage = "http://github.com/pawurb/rails-pg-extras"
14
+ s.files = `git ls-files`.split("\n")
15
+ s.test_files = s.files.grep(%r{^(spec)/})
16
16
  s.require_paths = ["lib"]
17
- s.license = "MIT"
17
+ s.license = "MIT"
18
18
  s.add_dependency "ruby-pg-extras", RailsPgExtras::VERSION
19
19
  s.add_dependency "rails"
20
20
  s.add_development_dependency "rake"
21
21
  s.add_development_dependency "rspec"
22
+ s.add_development_dependency "rufo"
22
23
 
23
24
  if s.respond_to?(:metadata=)
24
25
  s.metadata = { "rubygems_mfa_required" => "true" }
data/spec/smoke_spec.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'spec_helper'
4
- require 'rails-pg-extras'
3
+ require "spec_helper"
4
+ require "rails-pg-extras"
5
5
 
6
6
  describe RailsPgExtras do
7
7
  RailsPgExtras::QUERIES.each do |query_name|
@@ -9,7 +9,7 @@ describe RailsPgExtras do
9
9
  expect do
10
10
  RailsPgExtras.run_query(
11
11
  query_name: query_name,
12
- in_format: :hash
12
+ in_format: :hash,
13
13
  )
14
14
  end.not_to raise_error
15
15
  end
@@ -35,12 +35,12 @@ describe RailsPgExtras do
35
35
  end
36
36
 
37
37
  it "supports custom RAILS_PG_EXTRAS_DATABASE_URL" do
38
- ENV['RAILS_PG_EXTRAS_DATABASE_URL'] = ENV['DATABASE_URL']
38
+ ENV["RAILS_PG_EXTRAS_DATABASE_URL"] = ENV["DATABASE_URL"]
39
39
 
40
40
  expect do
41
41
  RailsPgExtras.calls
42
42
  end.not_to raise_error
43
43
 
44
- ENV['RAILS_PG_EXTRAS_DATABASE_URL'] = nil
44
+ ENV["RAILS_PG_EXTRAS_DATABASE_URL"] = nil
45
45
  end
46
46
  end
data/spec/spec_helper.rb CHANGED
@@ -1,23 +1,23 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'rubygems'
4
- require 'bundler/setup'
5
- require 'active_record'
6
- require_relative '../lib/rails-pg-extras'
3
+ require "rubygems"
4
+ require "bundler/setup"
5
+ require "active_record"
6
+ require_relative "../lib/rails-pg-extras"
7
7
 
8
8
  pg_version = ENV["PG_VERSION"]
9
9
 
10
10
  port = if pg_version == "11"
11
- "5432"
12
- elsif pg_version == "12"
13
- "5433"
14
- elsif pg_version == "13"
15
- "5434"
16
- elsif pg_version == "14"
17
- "5435"
18
- else
19
- "5432"
20
- end
11
+ "5432"
12
+ elsif pg_version == "12"
13
+ "5433"
14
+ elsif pg_version == "13"
15
+ "5434"
16
+ elsif pg_version == "14"
17
+ "5435"
18
+ else
19
+ "5432"
20
+ end
21
21
 
22
22
  ENV["DATABASE_URL"] ||= "postgresql://postgres:secret@localhost:#{port}/rails-pg-extras-test"
23
23
 
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.3.0
4
+ version: 5.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - pawurb
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-25 00:00:00.000000000 Z
11
+ date: 2024-09-19 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.3.0
19
+ version: 5.4.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.3.0
26
+ version: 5.4.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rails
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rufo
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  description: " Rails port of Heroku PG Extras. The goal of this project is to provide
70
84
  a powerful insights into PostgreSQL database for Ruby on Rails apps that are not
71
85
  using the default Heroku PostgreSQL plugin. "
@@ -117,7 +131,7 @@ licenses:
117
131
  - MIT
118
132
  metadata:
119
133
  rubygems_mfa_required: 'true'
120
- post_install_message:
134
+ post_install_message:
121
135
  rdoc_options: []
122
136
  require_paths:
123
137
  - lib
@@ -132,8 +146,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
132
146
  - !ruby/object:Gem::Version
133
147
  version: '0'
134
148
  requirements: []
135
- rubygems_version: 3.1.6
136
- signing_key:
149
+ rubygems_version: 3.5.4
150
+ signing_key:
137
151
  specification_version: 4
138
152
  summary: Rails PostgreSQL performance database insights
139
153
  test_files: