deimos-ruby 1.14.0 → 1.14.1

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: c810f924fa9af51458b4c30e0d6b9101e05094713b3550190f60d7e088119cf0
4
- data.tar.gz: 027e3362abf78a4f60cd2613956b8920e537a28f34fcd3c02f94d48648b85b5b
3
+ metadata.gz: 1d94fcbeb955de22fde06b29f63809cae7305d91f029ba8ec0b36e4dbbe037a2
4
+ data.tar.gz: 611e5cc68a5d9e661ff692f05692d7ba24e4804f5761479802a632cbdd2a0fd7
5
5
  SHA512:
6
- metadata.gz: 8b2a64227cf35a8e86f7ad1b142f25bfce7d1c0e9c5e0bded07f6058b811609f4a315c3f48903a672093a1084c0a7c395198e4524d629b9610995a2629959550
7
- data.tar.gz: 80ad055761417ad27f5be9c7a6fd2ffdeaed5b3e2aaf7b0d6b6956d4567f60f4f0d7f7dda9e24640ef67d5e3636f7c9ef0b176de342ceb254840b41ce2639ce0
6
+ metadata.gz: 5100b19ede901f0b7a4e20f0aa6c15d487e9355d95ea46d984c8fcb587039be4be9529991197148e630ad3670c65d79ab0653ff57c28e224236a4d966bebe7e1
7
+ data.tar.gz: '082ad2e7be4d85fa3e8e242cdc7f192a35f99424675f5bddc3e11a3c19477ce5abf0df629117ca4f714ca107ea5be0a93a8aa5041a1f67cc628517f451005bb1'
data/CHANGELOG.md CHANGED
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## UNRELEASED
9
9
 
10
+ # 1.14.1 - 2022-05-25
11
+
12
+ - Fix: When using key schemas, ActiveRecordConsumers were not finding the record by default.
13
+
10
14
  # 1.14.0 - 2022-05-16
11
15
 
12
16
  - **Breaking Change**: Nest sub-schemas by default into their parent schemas when generating classes.
@@ -13,7 +13,8 @@ module Deimos
13
13
  # @param key [Object]
14
14
  # @return [ActiveRecord::Base]
15
15
  def fetch_record(klass, _payload, key)
16
- klass.unscoped.where(klass.primary_key => key).first
16
+ fetch_key = key.is_a?(Hash) && key.size == 1 ? key.values.first : key
17
+ klass.unscoped.where(klass.primary_key => fetch_key).first
17
18
  end
18
19
 
19
20
  # Assign a key to a new record.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Deimos
4
- VERSION = '1.14.0'
4
+ VERSION = '1.14.1'
5
5
  end
@@ -39,6 +39,14 @@ module ActiveRecordConsumerTest
39
39
  end
40
40
  stub_const('MyConsumer', consumer_class)
41
41
 
42
+ consumer_class = Class.new(Deimos::ActiveRecordConsumer) do
43
+ schema 'MySchemaWithDateTimes'
44
+ namespace 'com.my-namespace'
45
+ key_config schema: 'MySchemaId_key'
46
+ record_class Widget
47
+ end
48
+ stub_const('MyConsumerWithKey', consumer_class)
49
+
42
50
  consumer_class = Class.new(Deimos::ActiveRecordConsumer) do
43
51
  schema 'MySchema'
44
52
  namespace 'com.my-namespace'
@@ -126,6 +134,19 @@ module ActiveRecordConsumerTest
126
134
  travel_back
127
135
  end
128
136
 
137
+ it 'should find widgets with a schema key' do
138
+ widget1 = Widget.create!(test_id: 'id1')
139
+ expect(widget1.some_int).to be_nil
140
+ test_consume_message(MyConsumerWithKey, {
141
+ test_id: 'id1',
142
+ some_int: 3
143
+ },
144
+ key: { id: widget1.id },
145
+ call_original: true)
146
+ expect(widget1.reload.some_int).to eq(3)
147
+ expect(Widget.count).to eq(1)
148
+ end
149
+
129
150
  it 'should find widgets by custom logic' do
130
151
  widget1 = Widget.create!(test_id: 'id1')
131
152
  expect(widget1.some_int).to be_nil
@@ -0,0 +1,12 @@
1
+ {
2
+ "namespace": "com.my-namespace",
3
+ "name": "MySchemaId_key",
4
+ "type": "record",
5
+ "doc": "Test schema",
6
+ "fields": [
7
+ {
8
+ "name": "id",
9
+ "type": "integer"
10
+ }
11
+ ]
12
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deimos-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.0
4
+ version: 1.14.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Orner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-16 00:00:00.000000000 Z
11
+ date: 2022-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avro_turf
@@ -499,6 +499,7 @@ files:
499
499
  - spec/schemas/com/my-namespace/MyNestedSchema.avsc
500
500
  - spec/schemas/com/my-namespace/MySchema.avsc
501
501
  - spec/schemas/com/my-namespace/MySchemaCompound_key.avsc
502
+ - spec/schemas/com/my-namespace/MySchemaId_key.avsc
502
503
  - spec/schemas/com/my-namespace/MySchemaWithBooleans.avsc
503
504
  - spec/schemas/com/my-namespace/MySchemaWithCircularReference.avsc
504
505
  - spec/schemas/com/my-namespace/MySchemaWithComplexTypes.avsc
@@ -605,6 +606,7 @@ test_files:
605
606
  - spec/schemas/com/my-namespace/MyNestedSchema.avsc
606
607
  - spec/schemas/com/my-namespace/MySchema.avsc
607
608
  - spec/schemas/com/my-namespace/MySchemaCompound_key.avsc
609
+ - spec/schemas/com/my-namespace/MySchemaId_key.avsc
608
610
  - spec/schemas/com/my-namespace/MySchemaWithBooleans.avsc
609
611
  - spec/schemas/com/my-namespace/MySchemaWithCircularReference.avsc
610
612
  - spec/schemas/com/my-namespace/MySchemaWithComplexTypes.avsc