Class: ESM::Event::SendXm8Notification::NotificationManager

Inherits:
Object
  • Object
show all
Defined in:
lib/esm/event/send_xm8_notification/notification_manager.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(execution_interval: 1) ⇒ NotificationManager

Returns a new instance of NotificationManager.



9
10
11
12
13
14
# File 'lib/esm/event/send_xm8_notification/notification_manager.rb', line 9

def initialize(execution_interval: 1)
  @queue = Queue.new

  @task = Concurrent::TimerTask.execute(execution_interval:) { process_next }
  @task.add_observer(ErrorHandler.new)
end

Instance Attribute Details

#queueObject (readonly)

Returns the value of attribute queue.



7
8
9
# File 'lib/esm/event/send_xm8_notification/notification_manager.rb', line 7

def queue
  @queue
end

Instance Method Details

#add(notifications) ⇒ Object



16
17
18
# File 'lib/esm/event/send_xm8_notification/notification_manager.rb', line 16

def add(notifications)
  notifications.each { |n| queue.push(n) }
end