switchman 3.0.7 → 3.0.8

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: 326fba116e3a3801cdd40b47ede332a372dab86522cbeaab1a3b6b361eccce1f
4
- data.tar.gz: 190457646d607aa444dbff867c67c5cd854817e8105efab44dd00fc782d1f21e
3
+ metadata.gz: 9e1083f3908c00847426bb780ec185b1845840da0fad4b7954fb678f904d879e
4
+ data.tar.gz: 0a29cd8e066d74aae0195c0ff1533e8859b01441bc788de6fda2ddb08e9d87fe
5
5
  SHA512:
6
- metadata.gz: 3843b4407a36b8f7f3aff2381dc6ee2e5f886169349794e679759a6d13d96b52e96e832caf78728f20df7d1d017701d7e7d8847c8a4620cd6b669ba8f25e9cc6
7
- data.tar.gz: 8e667cd250473f5b885fea29888454a186bafa9f694138bf0cf9f6761962ef4bf2a85b595a9cd7d26fb3f6532b4b8b8be9d6362c01329a63f94272f63ee55b4b
6
+ metadata.gz: 7fcd4a43310bd96e006bba2fdce3e86ec304648a4e86bcede565e136fd2fa52dd62b6aaeb6e055a8f48c9a80a1b2fe742cd6e18e91cdfbecdae1241d05b79276
7
+ data.tar.gz: 2f5e5dd5d949c50c8b5279efdbbc43aef2845d9be4575b2b730b437eac86e121d677a990db878940373440207b2dfeed8a9724c66366d8c353dcff2768cc5e98
@@ -11,22 +11,44 @@ module Switchman
11
11
  module Visitors
12
12
  module ToSql
13
13
  # rubocop:disable Naming/MethodName
14
+ # rubocop:disable Naming/MethodParameterName
14
15
 
15
- def visit_Arel_Nodes_TableAlias(*args)
16
- o, collector = args
16
+ def visit_Arel_Nodes_TableAlias(o, collector)
17
17
  collector = visit o.relation, collector
18
18
  collector << ' '
19
19
  collector << quote_local_table_name(o.name)
20
20
  end
21
21
 
22
- def visit_Arel_Attributes_Attribute(*args)
23
- o = args.first
22
+ def visit_Arel_Attributes_Attribute(o, collector)
24
23
  join_name = o.relation.table_alias || o.relation.name
25
- result = "#{quote_local_table_name join_name}.#{quote_column_name o.name}"
26
- args.last << result
24
+ collector << quote_local_table_name(join_name) << '.' << quote_column_name(o.name)
25
+ end
26
+
27
+ def visit_Arel_Nodes_HomogeneousIn(o, collector)
28
+ collector.preparable = false
29
+
30
+ collector << quote_local_table_name(o.table_name) << '.' << quote_column_name(o.column_name)
31
+
32
+ collector << if o.type == :in
33
+ ' IN ('
34
+ else
35
+ ' NOT IN ('
36
+ end
37
+
38
+ values = o.casted_values
39
+
40
+ if values.empty?
41
+ collector << @connection.quote(nil)
42
+ else
43
+ collector.add_binds(values, o.proc_for_binds, &bind_block)
44
+ end
45
+
46
+ collector << ')'
47
+ collector
27
48
  end
28
49
 
29
50
  # rubocop:enable Naming/MethodName
51
+ # rubocop:enable Naming/MethodParameterName
30
52
 
31
53
  def quote_local_table_name(name)
32
54
  return name if ::Arel::Nodes::SqlLiteral === name
@@ -13,7 +13,7 @@ module Switchman
13
13
  end
14
14
 
15
15
  def cache
16
- Switchman::Shard.current.database_server.cache_store
16
+ Switchman::Shard.current ? Switchman::Shard.current.database_server.cache_store : super
17
17
  end
18
18
  end
19
19
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Switchman
4
- VERSION = '3.0.7'
4
+ VERSION = '3.0.8'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: switchman
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.7
4
+ version: 3.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cody Cutrer