Sha256: 9eed5fb0f396ae66647d64c29c452fa75c678d164e8ba9032ef7e2d8a620baa2
Contents?: true
Size: 897 Bytes
Versions: 9
Compression:
Stored size: 897 Bytes
Contents
require_dependency "renalware/feeds" module Renalware module Feeds # # Responsible for coordinating the processing sequences of a raw HL7 message. # class MessageProcessor include Wisper::Publisher def call(raw_message) ActiveRecord::Base.transaction do message_payload = parse_message(raw_message) persist_message(message_payload) broadcast(:message_processed, message_payload) end rescue StandardError => exception notify_exception(exception) raise exception end private def parse_message(raw_message) MessageParser.new.parse(raw_message) end def persist_message(message_payload) PersistMessage.new.call(message_payload) end def notify_exception(exception) ExceptionNotifier.new.notify(exception) end end end end
Version data entries
9 entries across 9 versions & 1 rubygems