switchman 3.0.7 → 3.0.8

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: 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