deimos-ruby 1.14.0 → 1.14.1

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