arsi 0.4.0 → 0.4.2

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: efe5a87bd8303daf7685c2d9e753b30ecdd8efa25f721b68cc5fea2ce1f9e96b
4
- data.tar.gz: e631bb40979d5791707bda82e29db2bf7b225c3f1424addd69131ae9b0d23753
3
+ metadata.gz: be2cdd6b03875128c09328616b9bb0d3962dfd6767de0e90a4f16402d1ed9aef
4
+ data.tar.gz: ed84dc1f0bcc95a6b9ea930f848f1a021394466cf8fd3097b67034d2d2f04036
5
5
  SHA512:
6
- metadata.gz: 75ab18df3d1ee8bc3e04dd51a69fa29e42a7904b8d6bb892341046ca98bc9f86217438ed80fb6d2e7721993a0e132ee601fa3b684e8a35babcb8ebaa9b616c27
7
- data.tar.gz: 79660da433f0d3110f05026156634132e6fa295a9f6e8155feec43e7ca8186811d3f2b023ce3ee7dccf024a7a20c083289f3e9b28b6d506453bb7ea1021c73fe
6
+ metadata.gz: 75b399c5485fe278d99e568791ef9ff2ca7df143545fe76ecb03faa3c69d333e00c3a9dabb4dfb613084ee471053627d1dba93f3221d686ab58cbd7ace723a6c
7
+ data.tar.gz: a0c098390ada8a553c994556aa867adfe895329b8361441b25f5f1d89562e83a161d1cb4744d1ad48e545b4374e84d0ffc92d9b8813e24533be581db74ee639c
@@ -21,6 +21,7 @@ module Arsi
21
21
  end
22
22
 
23
23
  class << self
24
+ attr_reader :enabled
24
25
  attr_accessor :violation_callback
25
26
 
26
27
  def sql_check!(sql, relation)
@@ -2,25 +2,29 @@ require 'arel'
2
2
 
3
3
  module Arsi
4
4
  module ArelTreeManager
5
+ AREL_WHERE_SQL_ARITY_1 = ::Arel::VERSION[0].to_i < 7
6
+ AREL_WHERE_SQL_ENGINE_ACCESSOR = ::Arel::VERSION[0].to_i < 9
7
+
5
8
  # This is from Arel::SelectManager which inherits from Arel::TreeManager.
6
9
  # We need where_sql on both Arel::UpdateManager and Arel::DeleteManager so we add it to the parent class.
7
- if ::Arel::VERSION[0].to_i >= 6
8
- def where_sql(engine = Arel::Table.engine)
9
- return if @ctx.wheres.empty?
10
+ def where_sql(provided_engine = :none)
11
+ return if @ctx.wheres.empty?
10
12
 
11
- viz = if ::Arel::VERSION[0].to_i > 6
12
- ::Arel::Visitors::WhereSql.new(engine.connection.visitor, engine.connection)
13
+ selected_engine = provided_engine
14
+ if selected_engine == :none
15
+ selected_engine = if AREL_WHERE_SQL_ENGINE_ACCESSOR
16
+ self.engine || ::Arel::Table.engine
13
17
  else
14
- ::Arel::Visitors::WhereSql.new engine.connection
18
+ Arel::Table.engine
15
19
  end
16
- ::Arel::Nodes::SqlLiteral.new viz.accept(@ctx, ::Arel::Collectors::SQLString.new).value
17
20
  end
18
- else
19
- def where_sql
20
- return if @ctx.wheres.empty?
21
- viz = ::Arel::Visitors::WhereSql.new @engine.connection
22
- ::Arel::Nodes::SqlLiteral.new viz.accept @ctx
21
+
22
+ viz = if AREL_WHERE_SQL_ARITY_1
23
+ ::Arel::Visitors::WhereSql.new selected_engine.connection
24
+ else
25
+ ::Arel::Visitors::WhereSql.new(selected_engine.connection.visitor, selected_engine.connection)
23
26
  end
27
+ ::Arel::Nodes::SqlLiteral.new viz.accept(@ctx, ::Arel::Collectors::SQLString.new).value
24
28
  end
25
29
  end
26
30
  end
@@ -1,6 +1,6 @@
1
1
  module Arsi
2
2
  module Relation
3
- attr_accessor :without_arsi
3
+ attr_writer :without_arsi
4
4
 
5
5
  def without_arsi
6
6
  if block_given?
@@ -14,7 +14,8 @@ module Arsi
14
14
  end
15
15
 
16
16
  def without_arsi?
17
- @without_arsi || !arsi_scopeable?
17
+ return @without_arsi if defined?(@without_arsi) && @without_arsi
18
+ !arsi_scopeable?
18
19
  end
19
20
 
20
21
  def delete_all(*)
@@ -1,3 +1,3 @@
1
1
  module Arsi
2
- VERSION = '0.4.0'
2
+ VERSION = '0.4.2'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arsi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christopher Kintner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-19 00:00:00.000000000 Z
11
+ date: 2020-02-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: arel
@@ -170,6 +170,20 @@ dependencies:
170
170
  - - ">="
171
171
  - !ruby/object:Gem::Version
172
172
  version: '0'
173
+ - !ruby/object:Gem::Dependency
174
+ name: single_cov
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
173
187
  description: Puts your SQL under a microscope
174
188
  email:
175
189
  - ckintner@zendesk.com
@@ -202,7 +216,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
202
216
  - !ruby/object:Gem::Version
203
217
  version: '0'
204
218
  requirements: []
205
- rubygems_version: 3.0.4
219
+ rubygems_version: 3.1.2
206
220
  signing_key:
207
221
  specification_version: 4
208
222
  summary: ActiveRecord SQL Inspector