class Batsir::DSL::ConditionalNotifierDeclaration
Constants
- NotifierConditionDeclaration
Attributes
notifier_declarations[R]
Public Class Methods
new()
click to toggle source
# File lib/batsir/dsl/conditional_notifier_declaration.rb, line 8 def initialize @notifier_declarations = [] end
Public Instance Methods
add_conditional(condition, notifier_class, options)
click to toggle source
# File lib/batsir/dsl/conditional_notifier_declaration.rb, line 12 def add_conditional(condition, notifier_class, options) @notifier_declarations << NotifierConditionDeclaration.new(condition, notifier_class, options) end
compile(code, stage_worker)
click to toggle source
# File lib/batsir/dsl/conditional_notifier_declaration.rb, line 16 def compile(code, stage_worker) code << <<-EOF notifier = Batsir::Notifiers::ConditionalNotifier.new EOF notifier_declarations.each do |notifier_declaration| code << <<-EOF condition = ->(message){#{notifier_declaration.condition}} notifier.add_notifier condition, #{notifier_declaration.notifier}.new(#{notifier_declaration.options.to_s}) EOF end stage_worker.add_transformers_to_notifier(code) stage_worker.add_notifier(code) end