rails-pg-extras 0.5.0 → 0.5.1

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: b6bc007ddc338613256c083afc688a962ee9e79d3430e8c725e141e26611c490
4
- data.tar.gz: 2d27467222f23985d1ac6e463095f80de58d8bd76e7fa0089203fd5d61852f46
3
+ metadata.gz: a49e217c0bc41bfafdb1d9c39fe795085934d9186b12ce278bc32d4d5f554480
4
+ data.tar.gz: fc3918cbd8381edd923ead99d16f75dfa8fd6421821e8aea0bb894d85bba0071
5
5
  SHA512:
6
- metadata.gz: 54a816ff465969fea4dc82ecac87ac4d98bac06b65ab138cfaa3570a23d2e099cd0dbc1ae7210d4a4fb63e44a9618c0961b41b2fcb4ccd45b61fc37cdd247baf
7
- data.tar.gz: 34ec1ee2fd6e730983ed9be54be68b8c6603eafb93147453125567f277d327d292743f9a1cbfd95b429454c7321a54800123a5cf71cbc01a362b6c065deb1aa6
6
+ metadata.gz: 4f22c9c93e980c784a5512d1ad1b0ceaeed2655f98ba3d6294377c2743fec8e751de089d06dfb488454ab97970ee1c5e7879bd065fa6cba0ae0e28ae7f628542
7
+ data.tar.gz: d99d0b10ae027d25dd877ae5cab92d9cf849add1c84dc9687cde5a5c3ebc92536a8ab466e9ff2cd5ec7f2672a73dd91c245232528375819102c606e2836215e3
@@ -23,11 +23,15 @@ module RailsPGExtras
23
23
  end
24
24
 
25
25
  def self.run_query(query_name:, in_format:)
26
- sql_path = File.join(File.dirname(__FILE__), "/rails-pg-extras/queries/#{query_name}.sql")
27
- sql = File.read(sql_path)
28
- description = sql.split("\n").first[/\/\*(.*?)\*\//m, 1].strip
29
- result = connection.execute(sql)
30
- display_result(result, title: description, in_format: in_format)
26
+ result = connection.execute(
27
+ sql_for(query_name: query_name)
28
+ )
29
+
30
+ display_result(
31
+ result,
32
+ title: description_for(query_name: query_name),
33
+ in_format: in_format
34
+ )
31
35
  end
32
36
 
33
37
  def self.display_result(result, title:, in_format:)
@@ -55,12 +59,36 @@ module RailsPGExtras
55
59
  end
56
60
  end
57
61
 
62
+ def self.description_for(query_name:)
63
+ first_line = File.open(
64
+ sql_path_for(query_name: query_name)
65
+ ) { |f| f.readline }
66
+
67
+ first_line[/\/\*(.*?)\*\//m, 1].strip
68
+ end
69
+
70
+ def self.sql_for(query_name:)
71
+ File.read(
72
+ sql_path_for(query_name: query_name)
73
+ )
74
+ end
75
+
76
+ def self.sql_path_for(query_name:)
77
+ File.join(File.dirname(__FILE__), "/rails-pg-extras/queries/#{query_name}.sql")
78
+ end
79
+
58
80
  def self.connection
59
81
  ActiveRecord::Base.connection
60
82
  end
61
83
 
62
- private_class_method :connection
63
- private_class_method :display_result
84
+ %i(
85
+ connection
86
+ display_result
87
+ sql_for
88
+ sql_path_for
89
+ ).each do |method_name|
90
+ private_class_method method_name
91
+ end
64
92
  end
65
93
 
66
94
  require 'rails-pg-extras/railtie' if defined?(Rails)
@@ -4,7 +4,7 @@ require 'rails-pg-extras'
4
4
 
5
5
  namespace :pg_extras do
6
6
  RailsPGExtras::QUERIES.each do |query_name|
7
- desc RailsPGExtras.public_send("#{query_name}_description")
7
+ desc RailsPGExtras.description_for(query_name: query_name)
8
8
  task query_name.to_sym => :environment do
9
9
  RailsPGExtras.public_send(query_name)
10
10
  end
@@ -1,3 +1,3 @@
1
1
  module RailsPGExtras
2
- VERSION = "0.5.0"
2
+ VERSION = "0.5.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-pg-extras
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - pawurb
@@ -62,7 +62,7 @@ files:
62
62
  - lib/rails-pg-extras/queries/index_size.sql
63
63
  - lib/rails-pg-extras/queries/index_usage.sql
64
64
  - lib/rails-pg-extras/queries/locks.sql
65
- - lib/rails-pg-extras/queries/long_running_queries.rb
65
+ - lib/rails-pg-extras/queries/long_running_queries.sql
66
66
  - lib/rails-pg-extras/queries/mandelbrot.sql
67
67
  - lib/rails-pg-extras/queries/outliers.sql
68
68
  - lib/rails-pg-extras/queries/records_rank.sql