Sha256: b90b378428039885a75a933a9b849bd9cab2fbd3a23f83d355354456343b11a3

Contents?: true

Size: 733 Bytes

Versions: 14

Compression:

Stored size: 733 Bytes

Contents

# 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(exchange_name, message)
      encoded_message = RailwayIpc::Rabbitmq::Payload.encode(message)
      create!(
        uuid: message.uuid,
        message_type: message.class.to_s,
        user_uuid: message.user_uuid,
        correlation_id: message.correlation_id,
        encoded_message: encoded_message,
        status: 'sent',
        exchange: exchange_name
      )
    end

    private

    def timestamp_attributes_for_create
      super << :inserted_at
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
railway-ipc-4.0.1 lib/railway_ipc/models/published_message.rb
railway-ipc-4.0.0 lib/railway_ipc/models/published_message.rb
railway-ipc-3.0.0 lib/railway_ipc/models/published_message.rb
railway-ipc-2.2.2 lib/railway_ipc/models/published_message.rb
railway-ipc-2.2.1 lib/railway_ipc/models/published_message.rb
railway-ipc-2.2.0 lib/railway_ipc/models/published_message.rb
railway-ipc-2.1.0 lib/railway_ipc/models/published_message.rb
railway-ipc-2.0.3 lib/railway_ipc/models/published_message.rb
railway-ipc-2.0.2 lib/railway_ipc/models/published_message.rb
railway-ipc-2.0.1 lib/railway_ipc/models/published_message.rb
railway-ipc-2.0.0 lib/railway_ipc/models/published_message.rb
railway-ipc-1.1.0 lib/railway_ipc/models/published_message.rb
railway-ipc-1.0.1 lib/railway_ipc/models/published_message.rb
railway-ipc-1.0.0 lib/railway_ipc/models/published_message.rb