rails-pg-extras 5.3.1 → 5.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '079597706cc133935560397f2e136950867c90b6e2b41aca6ccbc6b48fd1ad4f'
4
- data.tar.gz: 4d71766d6c5bc5bf0c7ce1e3ad2668ee9e9164594139eaf791d29c5d545b2056
3
+ metadata.gz: 61f5b6a2a631c8d8099b67c1c28334cbc3ce64dddd53e3977877265362a04d71
4
+ data.tar.gz: ec8b4100e944153f9be8ddb8d9286441bf449f3262392129615dd0df28212a0c
5
5
  SHA512:
6
- metadata.gz: 9d2940121490100a88fb546e16af06505dc838902f96f3b7dea62cdc980e00b17bf9410c44859f2c7534792b812dee0c3a1283a0a724034556852c5bede3d5ae
7
- data.tar.gz: f5708d15b6a767bbbaa2c2b744e84c42c7b84720d4e292c6e0b53c8a335d40f8bf35536adfbbc643b6cc9399ed53fdbc33ac5754884202bc59efe764d874834f
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,7 +19,7 @@ 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
@@ -30,7 +30,7 @@ module RailsPgExtras
30
30
  FROM pg_available_extensions
31
31
  WHERE name = 'pg_stat_statements'"
32
32
  if (version = RailsPgExtras.connection.execute(pg_stat_statements_version_sql)
33
- .to_a[0].fetch("installed_version", nil))
33
+ .to_a[0].fetch("installed_version", nil))
34
34
  if Gem::Version.new(version) < Gem::Version.new(NEW_PG_STAT_STATEMENTS)
35
35
  query_name = "#{query_name}_legacy".to_sym
36
36
  end
@@ -38,17 +38,17 @@ module RailsPgExtras
38
38
  end
39
39
 
40
40
  sql = if (custom_args = DEFAULT_ARGS[query_name].merge(args)) != {}
41
- RubyPgExtras.sql_for(query_name: query_name) % custom_args
42
- else
43
- RubyPgExtras.sql_for(query_name: query_name)
44
- end
41
+ RubyPgExtras.sql_for(query_name: query_name) % custom_args
42
+ else
43
+ RubyPgExtras.sql_for(query_name: query_name)
44
+ end
45
45
 
46
46
  result = connection.execute(sql)
47
47
 
48
48
  RubyPgExtras.display_result(
49
49
  result,
50
50
  title: RubyPgExtras.description_for(query_name: query_name),
51
- in_format: in_format
51
+ in_format: in_format,
52
52
  )
53
53
  end
54
54
 
@@ -76,10 +76,10 @@ module RailsPgExtras
76
76
  sql_duration = 0
77
77
 
78
78
  method_name = if ActiveSupport::Notifications.respond_to?(:monotonic_subscribe)
79
- :monotonic_subscribe
80
- else
81
- :subscribe
82
- end
79
+ :monotonic_subscribe
80
+ else
81
+ :subscribe
82
+ end
83
83
 
84
84
  subscriber = ActiveSupport::Notifications.public_send(method_name, "sql.active_record") do |_name, start, finish, _id, payload|
85
85
  unless payload[:name] =~ /SCHEMA/
@@ -115,11 +115,10 @@ module RailsPgExtras
115
115
  count: queries.reduce(0) { |agg, val| agg + val[1].fetch(:count) },
116
116
  queries: queries,
117
117
  total_duration: total_duration.round(2),
118
- sql_duration: sql_duration.round(2)
118
+ sql_duration: sql_duration.round(2),
119
119
  }
120
120
  end
121
121
 
122
-
123
122
  def self.index_info(args: {}, in_format: :display_table)
124
123
  data = RailsPgExtras::IndexInfo.call(args[:table_name])
125
124
 
@@ -149,7 +148,7 @@ module RailsPgExtras
149
148
  end
150
149
 
151
150
  def self.connection
152
- if (db_url = ENV['RAILS_PG_EXTRAS_DATABASE_URL'])
151
+ if (db_url = ENV["RAILS_PG_EXTRAS_DATABASE_URL"])
153
152
  ActiveRecord::Base.establish_connection(db_url).connection
154
153
  else
155
154
  ActiveRecord::Base.connection
@@ -157,6 +156,6 @@ module RailsPgExtras
157
156
  end
158
157
  end
159
158
 
160
- require 'rails_pg_extras/web'
161
- require 'rails_pg_extras/configuration'
162
- 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.1"
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.1
4
+ version: 5.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - pawurb
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-14 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.1
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.1
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. "
@@ -132,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
132
146
  - !ruby/object:Gem::Version
133
147
  version: '0'
134
148
  requirements: []
135
- rubygems_version: 3.3.7
149
+ rubygems_version: 3.5.4
136
150
  signing_key:
137
151
  specification_version: 4
138
152
  summary: Rails PostgreSQL performance database insights