composite_primary_keys 12.0.0.rc1 → 12.0.0.rc2

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: 540c65209855565625538300ca62ea930ad91494d7a307dbd4db0419a17e576f
4
- data.tar.gz: 9bd63c5ffb21a79abb6f4159ddc0245144406e33f1969801f1d9d3176fdf1e2f
3
+ metadata.gz: 2de0c70c7a4c4075ec01794087047e1ce9b8f3f72e6c02450519d9b240322a98
4
+ data.tar.gz: d87673437c48ed131cbeb39e20a477f1125ba1515dcb59de729e9c5567281e93
5
5
  SHA512:
6
- metadata.gz: 627e469ec7fe07987605b21f156dc042611af0a31282bc711b078479617c5eebeae770f27ec5de3158f686cb7dd4b175b1729dc0116f46e87894d19dc5482292
7
- data.tar.gz: 5038fb2ff8282164c9daf3f5b8123d441c3ea50a126222619f12cdaed9118112a7c2f469b90ffb20b482d5e0a1467e3aabf7b5e14e39208a5972ce3b73717633
6
+ metadata.gz: d4b2d8dcd63be551a19ae50f6acc810506cfffd06c8e2b60e6a6d2461a671d0cab7a4226dbdb2affdb7271d9bab776379343afadc6feb6fdfac4b12949ac10b5
7
+ data.tar.gz: 4c0cbfde4dec1c2e7cbee6f0195da429af01917426dfd1dd9fae8eee9a94de48eca75943665e01c3ccfd21ff58ea2d811259722ca0a45e32957ce41d2f605d83
@@ -1,20 +1,6 @@
1
1
  module Arel
2
2
  module Visitors
3
3
  class ToSql
4
- # def visit_Arel_Nodes_In o, collector
5
- # if Array === o.right && o.right.empty?
6
- # collector << '1=0'
7
- # else
8
- # # CPK
9
- # collector << "("
10
- # collector = visit o.left, collector
11
- # # CPK
12
- # collector << ")"
13
- # collector << " IN ("
14
- # visit(o.right, collector) << ")"
15
- # end
16
- # end
17
-
18
4
  def visit_CompositePrimaryKeys_CompositeKeys o, collector
19
5
  values = o.map do |key|
20
6
  case key
@@ -24,7 +10,7 @@ module Arel
24
10
  key
25
11
  end
26
12
  end
27
- collector << "#{values.join(', ')}"
13
+ collector << "(#{values.join(', ')})"
28
14
  collector
29
15
  end
30
16
  end
@@ -25,22 +25,23 @@ module ActiveRecord
25
25
  end
26
26
 
27
27
  stmt = Arel::UpdateManager.new
28
+ stmt.table(arel.join_sources.empty? ? table : arel.source)
28
29
  if @klass.composite?
29
- arel_attributes = primary_key.map do |key|
30
+ stmt.table(table)
31
+ subselect = arel.clone
32
+ arel_attributes = primary_keys.map do |key|
30
33
  arel_attribute(key)
31
34
  end.to_composite_keys
32
- subselect = arel.clone
33
- subselect.projections = [arel_attributes]
34
- stmt.table(table)
35
- stmt.key = arel_attributes.in(subselect)
35
+ subselect.projections = arel_attributes
36
+ stmt.wheres = [arel_attributes.in(subselect)]
36
37
  else
37
38
  stmt.table(arel.join_sources.empty? ? table : arel.source)
38
39
  stmt.key = arel_attribute(primary_key)
40
+ stmt.wheres = arel.constraints
39
41
  end
40
42
  stmt.take(arel.limit)
41
43
  stmt.offset(arel.offset)
42
44
  stmt.order(*arel.orders)
43
- stmt.wheres = arel.constraints
44
45
 
45
46
  if updates.is_a?(Hash)
46
47
  if klass.locking_enabled? &&
@@ -3,6 +3,6 @@ module CompositePrimaryKeys
3
3
  MAJOR = 12
4
4
  MINOR = 0
5
5
  TINY = 0
6
- STRING = [MAJOR, MINOR, TINY, 'rc1'].join('.')
6
+ STRING = [MAJOR, MINOR, TINY, 'rc2'].join('.')
7
7
  end
8
8
  end
@@ -67,10 +67,13 @@ class TestUpdate < ActiveSupport::TestCase
67
67
  end
68
68
 
69
69
  def test_update_all_join
70
- ReferenceCode.joins(:reference_type).update_all(description: 'random value')
70
+ ReferenceCode.joins(:reference_type).
71
+ where('reference_types.reference_type_id = ?', 2).
72
+ update_all(:description => 'random value')
71
73
 
72
- ReferenceCode.all.each do |reference_code|
73
- assert_equal('random value', reference_code.description)
74
- end
74
+ query = ReferenceCode.where('reference_type_id = ?', 2).
75
+ where(:description => 'random value')
76
+
77
+ assert_equal(2, query.count)
75
78
  end
76
- end
79
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: composite_primary_keys
3
3
  version: !ruby/object:Gem::Version
4
- version: 12.0.0.rc1
4
+ version: 12.0.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charlie Savage
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-07 00:00:00.000000000 Z
11
+ date: 2019-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord