module RKS::Event::Handler
Public Class Methods
call(correlation_id:, event:, payload:)
click to toggle source
# File lib/rks/event/handler.rb, line 7 def call(correlation_id:, event:, payload:) route = router.find(event) decoded_payload = decode(payload: payload, options: route[:options]) route[:block].call(correlation_id, decoded_payload) end
decode(payload:, options: {})
click to toggle source
# File lib/rks/event/handler.rb, line 13 def decode(payload:, options: {}) if options[:type] == "AVRO" Application.avro_registry.decode(payload, schema_name: options[:avro][:schema_name], namespace: options[:avro][:namespace]) else JSON.parse(payload) end end