Module: Outboxable

Extended by:
ActiveSupport::Concern
Defined in:
lib/templates/mongoid_initializer.rb,
lib/outboxable.rb,
lib/outboxable/worker.rb,
lib/outboxable/version.rb,
lib/outboxable/connection.rb,
lib/outboxable/configuration.rb,
lib/outboxable/publishing_manager.rb,
lib/outboxable/rabbitmq/publisher.rb,
lib/templates/activerecord_initializer.rb,
lib/outboxable/polling_publisher_worker.rb,
lib/generators/outboxable/install_generator.rb

Overview

This monkey patch allows you to customize the message format that you publish to your broker. By default, Outboxable publishes a CloudEvent message to your broker.

Defined Under Namespace

Modules: RabbitMq Classes: Configuration, Connection, Error, InstallGenerator, PollingPublisherWorker, PublishingManager, Worker

Constant Summary collapse

VERSION =
'1.0.2'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject

Returns the value of attribute configuration.



3
4
5
# File 'lib/outboxable/configuration.rb', line 3

def configuration
  @configuration
end

Class Method Details

.configure {|configuration| ... } ⇒ Object

Yields:



6
7
8
9
10
11
12
13
14
15
# File 'lib/outboxable/configuration.rb', line 6

def self.configure
  self.configuration ||= Configuration.new
  yield(configuration)

  # In accordance to sidekiq-cron README: https://github.com/sidekiq-cron/sidekiq-cron#under-the-hood
  Sidekiq::Options[:cron_poll_interval] = 5

  # Create the cron job for the polling publisher
  Sidekiq::Cron::Job.create(name: 'OutboxablePollingPublisher', cron: '*/5 * * * * *', class: 'Outboxable::PollingPublisherWorker', args: [{ orm: configuration.orm }])
end