rails_sql_prettifier 5.0.0 → 6.0.3

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: fd1acaf8f6f82312ccb1422330645c2365b3e4f93c9874da2645c62866310836
4
- data.tar.gz: bad3c23c4af4d0d3d3d8200f2ae38309df6cc332e92ab6466713f1956ee91739
3
+ metadata.gz: f1ee709955e95f1203d8f1e64feb5e51309123c92f7eeeee50fa44d9688511c3
4
+ data.tar.gz: b44477d11671c84097e66e2b69393a458f9a57cd2ab0c6aa4507e23105af3f80
5
5
  SHA512:
6
- metadata.gz: 3b16a4ee0ba376dc3f7ae3e3d2eaec46bd08cdda2e525b4a59be827e82ae5c161d90fd236e418bb226a8cca54aaebf6e5e590161fa529f52c25e0f025db27e42
7
- data.tar.gz: ab755ea34ed0bc3c910ee02895a94a35c7a1f4de4d123188f66985a9cd68950f8d708cdc3ba8d5cf7a590403b8e77c4186ebae44ecc31d5e1fcc8cc0dca63836
6
+ metadata.gz: 84862ea11984c33d2c198a6c7a0ec340a4f90d35463abe971280580e1f3f4d97db47486c838c13e854898c8c01c4d511fd2f74f5ab57068667159f2218d1cda8
7
+ data.tar.gz: 9e72db1724def7dc7fec82a5198281badc9b81fba4bcc01f3a51dfae23fd4ef1700f2369db7312fb97497c1c1caa2dbee0cb4b526466feb5a8887802b33f0f8f
data/.gitignore CHANGED
@@ -8,4 +8,5 @@
8
8
  /spec/reports/
9
9
  /tmp/
10
10
  /inspectionProfiles/
11
- .idea
11
+ .idea
12
+ .byebug_history
data/.ruby-gemset CHANGED
@@ -1 +1 @@
1
- rails_sql_prettifier_ar_5
1
+ rails_sql_prettifier_ar_6_0
data/CHANGELOG.md CHANGED
@@ -0,0 +1,9 @@
1
+ # 6.0.3
2
+ * Fixed issue with Niceql.configure not configuring anything + test covered
3
+
4
+ #6.0.2
5
+
6
+ * This a active record prior to 7.0 version and >= 6.1 compatible niceql integration
7
+ ar < 6.0 breaking change:
8
+ * StatementInvalid initialization has a breaking change: starting version 6 it has named param sql: for original query )
9
+
data/Dockerfile ADDED
@@ -0,0 +1,20 @@
1
+ FROM ruby:2.7.5-bullseye
2
+
3
+ WORKDIR /app
4
+ RUN apt-get update && apt-get -y install lsb-release
5
+ #
6
+ RUN wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
7
+ sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' && \
8
+ apt-get update && apt-get -y install postgresql postgresql-client-12
9
+
10
+ RUN sh -c 'echo "local all all trust" > /etc/postgresql/14/main/pg_hba.conf' && \
11
+ service postgresql start && \
12
+ psql -U postgres -c 'CREATE DATABASE "niceql-test"'
13
+
14
+ RUN gem install bundler
15
+
16
+ COPY lib/rails_sql_prettifier/version.rb /app/lib/rails_sql_prettifier/version.rb
17
+ COPY rails_sql_prettifier.gemspec /app/
18
+ COPY Gemfil* /app/
19
+ #
20
+ RUN bundle install
data/README.md CHANGED
@@ -1,7 +1,9 @@
1
1
  # RailsSQLPrettifier
2
2
 
3
- This is an ActiveRecord integration for a niceql gem.
4
- Niceql is a small, nice, simple and zero dependency solution for SQL prettifying for Ruby.
3
+ This is an ActiveRecord integration for a niceql gem ( niceql is a small, nice, simple and zero dependency solution for the SQL prettifying in ruby ).
4
+
5
+ This gem is an extraction from niceql version 0.4.x. Its separated by different ActiveRecord versions, previous it had some version logic branching e.t.c.
6
+ but that is hard to maintain and test, and also breaking the idea of niceql to be dependentless solution, so now niceql is a completely railsfree solution yeay!
5
7
 
6
8
  Any reasonable suggestions are welcome.
7
9
 
@@ -23,6 +25,9 @@ after:
23
25
 
24
26
  ## Installation
25
27
 
28
+ rails_sql_prettifier, has several version compatible with different active_record versions, so pay attention to the right versioning
29
+ if whenever you specify versions manually.
30
+
26
31
  Add this line to your application's Gemfile:
27
32
 
28
33
  ```ruby
@@ -0,0 +1,10 @@
1
+ version: "3.7"
2
+
3
+ services:
4
+ test:
5
+ build: .
6
+ image: niceql
7
+ command: service postgresql start && rake test
8
+ volumes:
9
+ - '.:/app'
10
+
@@ -1,3 +1,3 @@
1
1
  module RailsSQLPrettifier
2
- VERSION = '5.0.0'
2
+ VERSION = '6.0.3'
3
3
  end
@@ -2,8 +2,8 @@ require "rails_sql_prettifier/version"
2
2
  require 'active_record'
3
3
  require "niceql"
4
4
 
5
+
5
6
  module RailsSQLPrettifier
6
- include Niceql
7
7
 
8
8
  module ArExtentions
9
9
  def exec_niceql
@@ -44,7 +44,7 @@ module RailsSQLPrettifier
44
44
  end
45
45
  end
46
46
 
47
- module ARNiceQLConfig
47
+ module NiceQLConfigExt
48
48
  extend ActiveSupport::Concern
49
49
 
50
50
  included do
@@ -55,10 +55,7 @@ module RailsSQLPrettifier
55
55
 
56
56
 
57
57
  def ar_using_pg_adapter?
58
- adapter = ActiveRecord::Base.try(:connection_db_config).try(:adapter) ||
59
- ActiveRecord::Base.try(:connection_config)&.with_indifferent_access&.dig(:adapter)
60
-
61
- adapter == 'postgresql'
58
+ ActiveRecord::Base.try(:connection_config)&.with_indifferent_access&.dig(:adapter) == 'postgresql'
62
59
  end
63
60
 
64
61
  def initialize
@@ -67,17 +64,19 @@ module RailsSQLPrettifier
67
64
  self.prettify_active_record_log_output = false
68
65
  self.prettify_pg_errors = ar_using_pg_adapter?
69
66
  end
67
+ end
70
68
 
71
- module ClassMethods
72
- def configure
73
- super
69
+ module NiceqlExt
70
+ def configure
71
+ super
74
72
 
75
- ::ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.include(PostgresAdapterNiceQL) if config.pg_adapter_with_nicesql
73
+ if config.pg_adapter_with_nicesql && defined?( ::ActiveRecord::ConnectionAdapters::PostgreSQLAdapter )
74
+ ::ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.include( PostgresAdapterNiceQL)
75
+ end
76
76
 
77
- ::ActiveRecord::ConnectionAdapters::AbstractAdapter.prepend( AbstractAdapterLogPrettifier ) if config.prettify_active_record_log_output
77
+ ::ActiveRecord::ConnectionAdapters::AbstractAdapter.prepend( AbstractAdapterLogPrettifier ) if config.prettify_active_record_log_output
78
78
 
79
- ::ActiveRecord::StatementInvalid.include( Niceql::ErrorExt ) if config.prettify_pg_errors && config.ar_using_pg_adapter?
80
- end
79
+ ::ActiveRecord::StatementInvalid.include( RailsSQLPrettifier::ErrorExt ) if config.prettify_pg_errors && config.ar_using_pg_adapter?
81
80
  end
82
81
  end
83
82
 
@@ -85,5 +84,8 @@ module RailsSQLPrettifier
85
84
  ::Arel::TreeManager,
86
85
  ::Arel::Nodes::Node].each { |klass| klass.send(:include, ArExtentions) }
87
86
 
88
- NiceQLConfig.include( ARNiceQLConfig )
87
+ Niceql::NiceQLConfig.include( NiceQLConfigExt )
88
+
89
+ # we need to use a prepend otherwise it's not preceding Niceql.configure in a lookup chain
90
+ Niceql.singleton_class.prepend( NiceqlExt )
89
91
  end
@@ -31,16 +31,18 @@ Gem::Specification.new do |spec|
31
31
  spec.require_paths = ["lib"]
32
32
 
33
33
  spec.required_ruby_version = '>= 2.4'
34
- spec.add_dependency "niceql", '>= 0.5.1'
34
+ spec.add_dependency "niceql", '~> 0.5'
35
35
 
36
- spec.add_development_dependency "activerecord", "< 6.0"
36
+ spec.add_development_dependency "activerecord", '>= 6.0', '< 6.1'
37
37
 
38
38
  spec.add_development_dependency "bundler", ">= 1"
39
39
  spec.add_development_dependency "rake", ">= 12.3.3"
40
40
  spec.add_development_dependency "minitest", "~> 5.0"
41
41
 
42
- spec.add_development_dependency "differ"
43
- spec.add_development_dependency "pry-byebug"
44
- spec.add_development_dependency "benchmark-ips"
45
- spec.add_development_dependency 'sqlite3'
42
+ spec.add_development_dependency "differ", '~> 0.1'
43
+ spec.add_development_dependency "pry-byebug", '~> 3.9'
44
+ spec.add_development_dependency 'sqlite3', '~> 1'
45
+ spec.add_development_dependency 'pg', '~> 1'
46
+
47
+ spec.add_development_dependency 'stubberry', '~> 0.1'
46
48
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_sql_prettifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.0
4
+ version: 6.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - alekseyl
@@ -14,30 +14,36 @@ dependencies:
14
14
  name: niceql
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.5.1
19
+ version: '0.5'
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: 0.5.1
26
+ version: '0.5'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activerecord
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "<"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '6.0'
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: '6.1'
34
37
  type: :development
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
- - - "<"
41
+ - - ">="
39
42
  - !ruby/object:Gem::Version
40
43
  version: '6.0'
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: '6.1'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: bundler
43
49
  requirement: !ruby/object:Gem::Requirement
@@ -84,58 +90,72 @@ dependencies:
84
90
  name: differ
85
91
  requirement: !ruby/object:Gem::Requirement
86
92
  requirements:
87
- - - ">="
93
+ - - "~>"
88
94
  - !ruby/object:Gem::Version
89
- version: '0'
95
+ version: '0.1'
90
96
  type: :development
91
97
  prerelease: false
92
98
  version_requirements: !ruby/object:Gem::Requirement
93
99
  requirements:
94
- - - ">="
100
+ - - "~>"
95
101
  - !ruby/object:Gem::Version
96
- version: '0'
102
+ version: '0.1'
97
103
  - !ruby/object:Gem::Dependency
98
104
  name: pry-byebug
99
105
  requirement: !ruby/object:Gem::Requirement
100
106
  requirements:
101
- - - ">="
107
+ - - "~>"
102
108
  - !ruby/object:Gem::Version
103
- version: '0'
109
+ version: '3.9'
104
110
  type: :development
105
111
  prerelease: false
106
112
  version_requirements: !ruby/object:Gem::Requirement
107
113
  requirements:
108
- - - ">="
114
+ - - "~>"
109
115
  - !ruby/object:Gem::Version
110
- version: '0'
116
+ version: '3.9'
111
117
  - !ruby/object:Gem::Dependency
112
- name: benchmark-ips
118
+ name: sqlite3
113
119
  requirement: !ruby/object:Gem::Requirement
114
120
  requirements:
115
- - - ">="
121
+ - - "~>"
116
122
  - !ruby/object:Gem::Version
117
- version: '0'
123
+ version: '1'
118
124
  type: :development
119
125
  prerelease: false
120
126
  version_requirements: !ruby/object:Gem::Requirement
121
127
  requirements:
122
- - - ">="
128
+ - - "~>"
123
129
  - !ruby/object:Gem::Version
124
- version: '0'
130
+ version: '1'
125
131
  - !ruby/object:Gem::Dependency
126
- name: sqlite3
132
+ name: pg
127
133
  requirement: !ruby/object:Gem::Requirement
128
134
  requirements:
129
- - - ">="
135
+ - - "~>"
130
136
  - !ruby/object:Gem::Version
131
- version: '0'
137
+ version: '1'
132
138
  type: :development
133
139
  prerelease: false
134
140
  version_requirements: !ruby/object:Gem::Requirement
135
141
  requirements:
136
- - - ">="
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '1'
145
+ - !ruby/object:Gem::Dependency
146
+ name: stubberry
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '0.1'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
137
157
  - !ruby/object:Gem::Version
138
- version: '0'
158
+ version: '0.1'
139
159
  description: 'This is an ActiveRecord integration for the SQL prettifier gem niceql. '
140
160
  email:
141
161
  - leshchuk@gmail.com
@@ -143,18 +163,19 @@ executables: []
143
163
  extensions: []
144
164
  extra_rdoc_files: []
145
165
  files:
146
- - ".byebug_history"
147
166
  - ".gitignore"
148
167
  - ".ruby-gemset"
149
168
  - ".ruby-version"
150
169
  - ".travis.yml"
151
170
  - CHANGELOG.md
171
+ - Dockerfile
152
172
  - Gemfile
153
173
  - LICENSE.txt
154
174
  - README.md
155
175
  - Rakefile
156
176
  - bin/console
157
177
  - bin/setup
178
+ - docker-compose.yml
158
179
  - err_now.png
159
180
  - err_was.png
160
181
  - lib/benchmark/cat.rb
data/.byebug_history DELETED
@@ -1,36 +0,0 @@
1
- c
2
- ActiveRecord.version <= Gem::Version.new(5)
3
- c
4
- ActiveRecord.version
5
- exit
6
- ActiveRecord.version
7
- c
8
- exit
9
- si.sql
10
- si
11
- c
12
- sql_body
13
- n
14
- s
15
- original_sql_query
16
- err
17
- s
18
- up
19
- s
20
- up
21
- s
22
- up
23
- s
24
- super
25
- try(:sql)
26
- Niceql.config.prettify_pg_errors
27
- c
28
- exit
29
- err_template
30
- si.to_s
31
- exit
32
- err_caret_line
33
- err_quote_caret_offset
34
- c
35
- err.lines[1].index( '...' ).to_i
36
- err_caret_line