module Eventboss

Creates the Eventboss listener scaffold

@example Invocation from terminal

rails generate eventboss:listener get_well air-helper

Constants

Shutdown
VERSION

Public Class Methods

configuration() click to toggle source
# File lib/eventboss.rb, line 82
def configuration
  @_configuration ||= Configuration.new
end
configure() { |configuration| ... } click to toggle source
# File lib/eventboss.rb, line 78
def configure
  yield configuration if block_given?
end
env() click to toggle source
# File lib/eventboss.rb, line 74
def env
  @env ||= ENV['EVENTBOSS_ENV'] || ENV['EVENTBUS_ENV'] || ENV['RAILS_ENV'] || ENV['RACK_ENV']
end
launch() click to toggle source
# File lib/eventboss.rb, line 70
def launch
  Eventboss::Runner.launch
end
logger() click to toggle source
# File lib/eventboss.rb, line 86
def logger
  Thread.current[:ah_eventboss_logger] ||= configuration.logger
end
publisher(event_name, opts = {}) click to toggle source
# File lib/eventboss.rb, line 38
def publisher(event_name, opts = {})
  sns_client = configuration.sns_client

  if configuration.development_mode?
    source_app = configuration.eventboss_app_name unless opts[:generic]
    topic_name = Topic.build_name(event_name: event_name, source_app: source_app)
    sns_client.create_topic(name: topic_name)
  end

  Publisher.new(event_name, sns_client, configuration, opts)
end
sender(event_name, destination, options = {}) click to toggle source
# File lib/eventboss.rb, line 50
def sender(event_name, destination, options = {})
  source_app = configuration.eventboss_app_name unless options[:generic]
  queue = Queue.build(
    destination: destination,
    source_app: source_app,
    event_name: event_name,
    env: env
  )
  sqs_client = configuration.sqs_client

  if configuration.development_mode?
    sqs_client.create_queue(queue_name: queue.name)
  end

  Sender.new(
    client: sqs_client,
    queue: queue
  )
end