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