Class: IoMonitor::BasePublisher

Inherits:
Object
  • Object
show all
Defined in:
lib/io_monitor/publishers/base_publisher.rb

Direct Known Subclasses

LogsPublisher, NotificationsPublisher

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.kindObject

:nocov:

Raises:

  • (NotImplementedError)


6
7
8
# File 'lib/io_monitor/publishers/base_publisher.rb', line 6

def self.kind
  raise NotImplementedError
end

Instance Method Details

#process_action(payload) ⇒ Object

:nocov:



15
16
17
18
19
20
21
22
23
# File 'lib/io_monitor/publishers/base_publisher.rb', line 15

def process_action(payload)
  (payload.keys - [:response]).each do |source|
    ratio = ratio(payload[:response], payload[source])

    if ratio < IoMonitor.config.warn_threshold
      publish(source, ratio)
    end
  end
end

#publish(source, ratio) ⇒ Object

Raises:

  • (NotImplementedError)


10
11
12
# File 'lib/io_monitor/publishers/base_publisher.rb', line 10

def publish(source, ratio)
  raise NotImplementedError
end