deimos-ruby 2.2.0.pre.beta2 → 2.2.0.pre.beta3

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: e13774602acd7afb872466c3a730aa5edbfef7555bb48f80f7b400fb91af42da
4
- data.tar.gz: 8e8e8a13e90858288aa1273a708068238a9e22f4ed197822dc6fdf17ba855d82
3
+ metadata.gz: afac9f28bb34374bc6b99a5d4a52144add9b87a16c34272f2f833d446d8cbc5b
4
+ data.tar.gz: 2dd0a933b6e0f6c3e5469251456b67023bd49bdecbcab4cef8ae521f178c11c8
5
5
  SHA512:
6
- metadata.gz: b0061fc3a13a260388c0235f1c105c65cc94139e931e2d28e28e3fa7fa724fccfbeb6e50ac4e4ea6c412febf4b781ef2b07c3f1305f28bbdbd91e29e7b176a20
7
- data.tar.gz: 6f8add2b1df332ed56afdecc5d603e313bec5fa3b92d66ac25d0fd3b0932ac6b2b0e0ceca690838fe21947521b51bc90e0501378674036f880434d81a37eb745
6
+ metadata.gz: 8309b0f113ffb0ef4872cf500b883e3e4c3ef78b5fc8294effba77aab0aa8947a1bd9119d31c9cc30484c760f9c08cc666d1f0efe787bfdbeaf8c6fab6625965
7
+ data.tar.gz: fd1aeec6760fd8fab0bc0801bc270269be9055436798c0d7147c00bfe8d519fdba5a6d22474261bf4b095052ffdafb6ef6f3ac6cd67d15e60fc1d7668675ac7c
@@ -31,7 +31,7 @@ module Deimos
31
31
  # @override
32
32
  def encode_key(key_id, key, topic: nil)
33
33
  if key.is_a?(Hash)
34
- key_id ? key[key_id].to_s : key.sort.to_h.to_json
34
+ key_id ? key.with_indifferent_access[key_id].to_s : key.sort.to_h.to_json
35
35
  else
36
36
  key.to_s
37
37
  end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'proto_base'
4
+ require 'proto_turf'
5
+
6
+ module Deimos
7
+ module SchemaBackends
8
+ # Encode / decode using a local protobuf object.
9
+ class ProtoLocal < ProtoBase
10
+
11
+ # @override
12
+ def decode_payload(payload, schema:)
13
+ proto_schema.msgclass.decode(payload)
14
+ end
15
+
16
+ # @override
17
+ def encode_payload(payload, schema: nil, topic: nil)
18
+ msg = payload.is_a?(Hash) ? proto_schema.msgclass.new(**payload) : payload
19
+ proto_schema.msgclass.encode(msg)
20
+ end
21
+
22
+ private
23
+
24
+ # @return [ProtoTurf]
25
+ def self.proto_turf
26
+ @proto_turf ||= ProtoTurf.new(
27
+ registry_url: Deimos.config.schema.registry_url,
28
+ logger: Karafka.logger
29
+ )
30
+ end
31
+ end
32
+ end
33
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Deimos
4
- VERSION = '2.2.0-beta2'
4
+ VERSION = '2.2.0-beta3'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deimos-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0.pre.beta2
4
+ version: 2.2.0.pre.beta3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Orner
@@ -498,6 +498,7 @@ files:
498
498
  - lib/deimos/schema_backends/mock.rb
499
499
  - lib/deimos/schema_backends/plain.rb
500
500
  - lib/deimos/schema_backends/proto_base.rb
501
+ - lib/deimos/schema_backends/proto_local.rb
501
502
  - lib/deimos/schema_backends/proto_schema_registry.rb
502
503
  - lib/deimos/schema_class/base.rb
503
504
  - lib/deimos/schema_class/enum.rb