Module: Batsir::StageWorker

Defined in:
lib/batsir/stage_worker.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#filter_queueObject

Returns the value of attribute filter_queue.



5
6
7
# File 'lib/batsir/stage_worker.rb', line 5

def filter_queue
  @filter_queue
end

Class Method Details

.compile_from(stage) ⇒ Object



29
30
31
# File 'lib/batsir/stage_worker.rb', line 29

def self.compile_from(stage)
  Batsir::Compiler::StageWorkerCompiler.new(stage).compile
end

.included(base) ⇒ Object



7
8
9
10
# File 'lib/batsir/stage_worker.rb', line 7

def self.included(base)
  Registry.register(base.stage_name, base)
  base.initialize_filter_queue
end

Instance Method Details

#execute(message) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/batsir/stage_worker.rb', line 16

def execute(message)
  return false if message.nil?
  return false unless @filter_queue
  @filter_queue.filters.each do |filter|
    message = filter.filter(message)
    return false if message.nil?
  end
  @filter_queue.notifiers.each do |notifier|
    notifier.notify(message)
  end
  true
end

#perform(message) ⇒ Object



12
13
14
# File 'lib/batsir/stage_worker.rb', line 12

def perform(message)
  execute(message)
end