Module: AlertDesigner

Defined in:
lib/alertdesigner.rb,
lib/alertdesigner/check.rb,
lib/alertdesigner/command.rb,
lib/alertdesigner/formatters.rb,
lib/alertdesigner/formatters/nagios.rb

Overview

Top level AlertDesigner module with static methods for the DSL

Defined Under Namespace

Modules: Formatters Classes: Check, Command

Class Method Summary collapse

Class Method Details

.check(description, &block) ⇒ Object



33
34
35
36
37
# File 'lib/alertdesigner.rb', line 33

def self.check(description, &block)
  check = Check.new(description)
  check.instance_eval(&block)
  @checks << check
end

.checksObject



11
12
13
# File 'lib/alertdesigner.rb', line 11

def self.checks
  @checks
end

.command(name, &block) ⇒ Object



39
40
41
42
43
# File 'lib/alertdesigner.rb', line 39

def self.command(name, &block)
  command = Command.new(name)
  command.instance_eval(&block)
  @commands << command
end

.commandsObject



19
20
21
# File 'lib/alertdesigner.rb', line 19

def self.commands
  @commands
end

.define(&block) ⇒ Object



23
24
25
# File 'lib/alertdesigner.rb', line 23

def self.define(&block)
  instance_eval(&block)
end

.formatObject



51
52
53
54
55
56
57
58
# File 'lib/alertdesigner.rb', line 51

def self.format
  ret = ""
  @formatters.each do |formatter|
    ret << formatter.format(:checks, @checks)
    ret << formatter.format(:commands, @commands)
  end
  ret
end

.formatter(formatter_class, &block) ⇒ Object



45
46
47
48
49
# File 'lib/alertdesigner.rb', line 45

def self.formatter(formatter_class, &block)
  formatter = formatter_class.new
  formatter.instance_eval(&block) if block_given?
  @formatters << formatter
end

.formattersObject



15
16
17
# File 'lib/alertdesigner.rb', line 15

def self.formatters
  @formatters
end

.resetObject



27
28
29
30
31
# File 'lib/alertdesigner.rb', line 27

def self.reset
  @checks = []
  @formatters = []
  @commands = []
end