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