Module: Messaging

Defined in:
lib/messaging.rb,
lib/messaging/cli.rb,
lib/messaging/config.rb,
lib/messaging/routes.rb,
lib/messaging/message.rb,
lib/messaging/publish.rb,
lib/messaging/routing.rb,
lib/messaging/version.rb,
lib/messaging/adapters.rb,
lib/messaging/middleware.rb,
lib/messaging/base_handler.rb,
lib/messaging/adapters/test.rb,
lib/messaging/rails/railtie.rb,
lib/messaging/resque_worker.rb,
lib/messaging/routing/route.rb,
lib/messaging/adapters/kafka.rb,
lib/messaging/sidekiq_worker.rb,
lib/messaging/instrumentation.rb,
lib/messaging/expected_version.rb,
lib/messaging/adapters/postgres.rb,
lib/messaging/exception_handler.rb,
lib/messaging/message/from_json.rb,
lib/messaging/adapters/test/store.rb,
lib/messaging/consumer_supervisor.rb,
lib/messaging/adapters/test/stream.rb,
lib/messaging/adapters/test/consumer.rb,
lib/messaging/routing/enqueued_route.rb,
lib/messaging/adapters/kafka/consumer.rb,
lib/messaging/adapters/kafka/producer.rb,
lib/messaging/adapters/postgres/store.rb,
lib/messaging/routing/message_matcher.rb,
lib/messaging/adapters/postgres/stream.rb,
lib/messaging/middleware/rails_wrapper.rb,
lib/messaging/adapters/postgres/streams.rb,
lib/messaging/routing/enqueue_message_handler.rb,
lib/messaging/adapters/postgres/serialized_message.rb,
lib/messaging/middleware/after_active_record_transaction.rb,
lib/messaging/adapters/postgres/advisory_transaction_lock.rb

Defined Under Namespace

Modules: Adapters, Instrumentation, Message, Middleware, Rails, Routing Classes: BaseHandler, CLI, Config, ConsumerSupervisor, ExceptionHandler, ExpectedVersion, Publish, ResqueWorker, Routes, SidekiqWorker

Constant Summary collapse

VERSION =
'3.4.2'.freeze

Class Method Summary collapse

Class Method Details

.[](adapter) ⇒ Object



48
49
50
# File 'lib/messaging.rb', line 48

def self.[](adapter)
  Adapters[adapter]
end

.configObject



28
29
30
# File 'lib/messaging.rb', line 28

def self.config
  Config.config
end

.consumer_adapterObject



36
37
38
# File 'lib/messaging.rb', line 36

def self.consumer_adapter
  Adapters[Config.consumer.adapter]
end

.defined_messagesObject



61
62
63
# File 'lib/messaging.rb', line 61

def self.defined_messages
  ObjectSpace.each_object(Class).select { |c| c.included_modules.include? Messaging::Message }
end

.dispatcherObject



40
41
42
# File 'lib/messaging.rb', line 40

def self.dispatcher
  Adapters::Dispatcher.default
end

.in_consumer_mode?Boolean

Returns:

  • (Boolean)


65
66
67
# File 'lib/messaging.rb', line 65

def self.in_consumer_mode?
  File.basename($PROGRAM_NAME) == 'messaging'
end

.loggerObject



32
33
34
# File 'lib/messaging.rb', line 32

def self.logger
  Config.logger
end

.message_storeObject



44
45
46
# File 'lib/messaging.rb', line 44

def self.message_store
  Adapters::Store.default
end

.routesObject



52
53
54
# File 'lib/messaging.rb', line 52

def self.routes
  @routes ||= Routes.new
end

.setup(&block) ⇒ Object



24
25
26
# File 'lib/messaging.rb', line 24

def self.setup(&block)
  Config.setup(&block)
end

.stream(name) ⇒ Object



56
57
58
59
# File 'lib/messaging.rb', line 56

def self.stream(name)
  name = name.stream_name if name.respond_to?(:stream_name)
  message_store.stream(name)
end