rails_sql_prettifier 5.0.1 → 6.0.4

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: e054a55678b35786fd255abe2842a3b4b795e5ffbb5e0ea570888c05c6abaea6
4
- data.tar.gz: ba6cba10e835b079e364347eba883c63106164f20ebf7dfb7406270f657b1edd
3
+ metadata.gz: b61bd785fc014de67c05ebea9dfb6004c19522ecdbaecd223a8dc59cf3c717d6
4
+ data.tar.gz: d192a000935de406e55c4c6119bdd4286176b40a2f7473b7443d584c02187767
5
5
  SHA512:
6
- metadata.gz: d01423c703f5425635c41f3bed89622b17e9860eb8322ded8de75c1bf348fd305382f0d7ae98b8d201f7494f6cac92fab959fe6475367bd782e4248889875135
7
- data.tar.gz: 51695da6649ff7907d152f6a0a3105536def401640b4d2f076a0da8758a5bdccc6aa01fd1395c44777b1eef73a860eeae53d93bb32ffa54dd58e12f63e1443b3
6
+ metadata.gz: 3d85372a2cae35a3d590f7632c7e579b7b7595a7a680ceaffcfb4170bcce561ad12701669f85f7e3c29e2e52fca99fcc126982ecb8e412d6e20ca7a506c4cdc1
7
+ data.tar.gz: f885d1b7fcff14a35098d05c7802040e16233a4c21601c3299d56618219ab9255b3d794148c7a98d9222d786ed8d154bcc735c39f621494092448f5e25ec21c7
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
@@ -1,4 +1,12 @@
1
- # 5.0.0
1
+ # 6.0.4
2
+ * Now AR is a dependency not a development dependency
2
3
 
3
- * This a activer record prior to 6.0 version compatible niceql integration
4
- ( main difference is StatementInvalid initialization, starting version 6 it has named param sql: for original query )
4
+ # 6.0.3
5
+ * Fixed issue with Niceql.configure not configuring anything + test covered
6
+
7
+ #6.0.2
8
+
9
+ * This a active record prior to 7.0 version and >= 6.1 compatible niceql integration
10
+ ar < 6.0 breaking change:
11
+ * StatementInvalid initialization has a breaking change: starting version 6 it has named param sql: for original query )
12
+
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,12 @@
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 started as a code extraction from niceql version 0.4.x.
6
+
7
+ It has versioning aligned to the ActiveRecord versions, niceql prior to 0.5 version had hardcoded logic branches based on ActiveRecord versioning.
8
+
9
+ That is hard to maintain and hard to test, and also coupling with AR is breaking the original idea of the niceql to be a dependentless solution, so now the niceql is a completely railsfree gem yeay! ( It still has some some checks related to AR implemetations in the error prettifying methods. It will be completely decoupled in the future )
5
10
 
6
11
  Any reasonable suggestions are welcome.
7
12
 
@@ -23,10 +28,13 @@ after:
23
28
 
24
29
  ## Installation
25
30
 
31
+ rails_sql_prettifier, has several version compatible with different active_record versions, so pay attention to the right versioning
32
+ if whenever you specify versions manually.
33
+
26
34
  Add this line to your application's Gemfile:
27
35
 
28
36
  ```ruby
29
- gem 'rails_sql_prettifier'
37
+ gem 'rails_sql_prettifier', '~> X.X.X'
30
38
  ```
31
39
 
32
40
  And then execute:
@@ -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.1'
2
+ VERSION = '6.0.4'
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
@@ -64,17 +64,19 @@ module RailsSQLPrettifier
64
64
  self.prettify_active_record_log_output = false
65
65
  self.prettify_pg_errors = ar_using_pg_adapter?
66
66
  end
67
+ end
67
68
 
68
- module ClassMethods
69
- def configure
70
- super
69
+ module NiceqlExt
70
+ def configure
71
+ super
71
72
 
72
- ::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
73
76
 
74
- ::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
75
78
 
76
- ::ActiveRecord::StatementInvalid.include( Niceql::ErrorExt ) if config.prettify_pg_errors && config.ar_using_pg_adapter?
77
- end
79
+ ::ActiveRecord::StatementInvalid.include( RailsSQLPrettifier::ErrorExt ) if config.prettify_pg_errors && config.ar_using_pg_adapter?
78
80
  end
79
81
  end
80
82
 
@@ -82,5 +84,8 @@ module RailsSQLPrettifier
82
84
  ::Arel::TreeManager,
83
85
  ::Arel::Nodes::Node].each { |klass| klass.send(:include, ArExtentions) }
84
86
 
85
- 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 )
86
91
  end
@@ -31,16 +31,17 @@ 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'
35
-
36
- spec.add_development_dependency "activerecord", "< 6.0"
34
+ spec.add_dependency "niceql", '~> 0.5'
35
+ spec.add_dependency "activerecord", '>= 6.0', '< 6.1'
37
36
 
38
37
  spec.add_development_dependency "bundler", ">= 1"
39
38
  spec.add_development_dependency "rake", ">= 12.3.3"
40
39
  spec.add_development_dependency "minitest", "~> 5.0"
41
40
 
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'
41
+ spec.add_development_dependency "differ", '~> 0.1'
42
+ spec.add_development_dependency "pry-byebug", '~> 3.9'
43
+ spec.add_development_dependency 'sqlite3', '~> 1'
44
+ spec.add_development_dependency 'pg', '~> 1'
45
+
46
+ spec.add_development_dependency 'stubberry', '~> 0.1'
46
47
  end
metadata CHANGED
@@ -1,43 +1,49 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_sql_prettifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.1
4
+ version: 6.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - alekseyl
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-01-08 00:00:00.000000000 Z
11
+ date: 2022-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
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
- type: :development
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: '6.1'
37
+ type: :runtime
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,40 +0,0 @@
1
- exit
2
- ActiveRecord::Base.connection_config[:adapter]
3
- ActiveRecord::Base.connection_config.adapter
4
- ActiveRecord::Base.connection_config
5
- c
6
- ActiveRecord.version <= Gem::Version.new(5)
7
- c
8
- ActiveRecord.version
9
- exit
10
- ActiveRecord.version
11
- c
12
- exit
13
- si.sql
14
- si
15
- c
16
- sql_body
17
- n
18
- s
19
- original_sql_query
20
- err
21
- s
22
- up
23
- s
24
- up
25
- s
26
- up
27
- s
28
- super
29
- try(:sql)
30
- Niceql.config.prettify_pg_errors
31
- c
32
- exit
33
- err_template
34
- si.to_s
35
- exit
36
- err_caret_line
37
- err_quote_caret_offset
38
- c
39
- err.lines[1].index( '...' ).to_i
40
- err_caret_line