module Stenotype::Configuration
A module containing freshly-event gem configuration
@example Configuring the library
Stenotype.configure do |config| config.enabled = true config.targets = [Target1.new, Target2.new] config.uuid_generator = SecureRandom config.google_cloud do |gc| gc.credentials = "abc" gc.project_id = "project" gc.topic = "42" gc.async = true end config.rails do |rc| rc.enable_action_controller_ext = true rc.enable_active_job_ext = false end end
Public Instance Methods
logger()
click to toggle source
@example With default logger
Stenotype.configure do |config| # config.logger = nil # logger not set manually end Stenotype.config.logger #=> `Logger.new(STDOUT)` instance
@example With custom logger
Stenotype.configure do |config| config.logger = custom_logger_instance end Stenotype.config.logger #=> custom_logger_instance
@return [{Logger, CustomLogger}] a logger object. Logger.new(STDOUT) by
default if another is not set during configuration
# File lib/stenotype/configuration.rb, line 116 def logger return config.logger if config.logger config.logger || Logger.new(STDOUT) end
targets()
click to toggle source
@example When at least one target is present
Stenotype.configure do |config| config.targets = [Target1.new, Target2.new] end Stenotype.config.targets #=> [target_obj1, target_obj2]
@example When no targets have been configured
Stenotype.configure { |config| config.targets = [] } Stenotype.config.targets #=> Stenotype::NoTargetsSpecifiedError
@raise {Stenotype::NoTargetsSpecifiedError} in case no targets are configured @return {Array<#publish>} An array of targets implementing method [#publish]
@todo THIS NEVER GETS CALLED, needs a fix
# File lib/stenotype/configuration.rb, line 138 def targets return config.targets unless config.targets.empty? raise Stenotype::NoTargetsSpecifiedError, "Please configure a target(s) for events to be sent to. "\ "See #{Stenotype::Configuration} for reference." end