rails_sql_prettifier 5.0.1 → 6.0.4

Sign up to get free protection for your applications and to get access to all the features.
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