rails-pg-extras 5.3.0 → 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: 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: