# frozen_string_literal: true module RailwayIpc class PublishedMessage < ActiveRecord::Base self.table_name = 'railway_ipc_published_messages' self.primary_key = 'uuid' validates :uuid, :status, presence: true def self.store_message(outgoing_message) create!( uuid: outgoing_message.uuid, message_type: outgoing_message.type, user_uuid: outgoing_message.user_uuid, correlation_id: outgoing_message.correlation_id, encoded_message: outgoing_message.encoded, status: 'sent', exchange: outgoing_message.exchange ) end private def timestamp_attributes_for_create super << :inserted_at end end end