class RailwayIpc::Handler
Attributes
block[R]
Public Class Methods
handle(&block)
click to toggle source
# File lib/railway_ipc/handler.rb, line 9 def self.handle(&block) @block = block end
Public Instance Methods
handle(message)
click to toggle source
# File lib/railway_ipc/handler.rb, line 13 def handle(message) RailwayIpc.logger.info('Handling message', log_message_options(message)) response = self.class.block.call(message) if response.success? RailwayIpc.logger.info('Successfully handled message', log_message_options(message)) else RailwayIpc.logger.error('Failed to handle message', log_message_options(message)) end response end
Private Instance Methods
log_message_options(message)
click to toggle source
# File lib/railway_ipc/handler.rb, line 27 def log_message_options(message) { feature: 'railway_ipc_consumer', protobuf: { type: message.class.name, data: message } } end