class Barkdog::Exporter

Constants

EXCLUDE_KEYS

Public Class Methods

export(dog, opts = {}) click to toggle source
# File lib/barkdog/exporter.rb, line 10
def export(dog, opts = {})
  self.new(dog, opts).export
end
new(dog, options = {}) click to toggle source
# File lib/barkdog/exporter.rb, line 15
def initialize(dog, options = {})
  @dog = dog
  @options = options
end

Public Instance Methods

export() click to toggle source
# File lib/barkdog/exporter.rb, line 20
def export
  monitors = @dog.get_all_monitors[1]
  normalize(monitors)
end

Private Instance Methods

normalize(monitors) click to toggle source
# File lib/barkdog/exporter.rb, line 27
def normalize(monitors)
  monitor_by_name = {}

  monitors.each do |m|
    name = m.delete('name')

    if monitor_by_name[name]
      raise "Duplicate monitor name exists: #{name}"
    end

    EXCLUDE_KEYS.each do |key|
      m.delete(key)
    end

    if @options[:ignore_silenced]
      m['options'].delete('silenced')
    end

    monitor_by_name[name] = m
  end

  monitor_by_name
end