class DogWatch::Monitor

Provides a container around each monitor block

Attributes

client[R]
config[RW]
responses[R]

Public Class Methods

new(name = nil, &block) click to toggle source

@param [String] name @param [Proc] block @return [DogWatch::Model::Monitor]

# File lib/dogwatch/monitor.rb, line 16
def initialize(name = nil, &block)
  @name = name
  @monitors = []
  @config = nil
  instance_exec(&block)
end

Public Instance Methods

get() click to toggle source

@return [Array]

# File lib/dogwatch/monitor.rb, line 33
def get
  @responses = @monitors.map do |m|
    validate = @client.validate(m)
    if validate.status == :error
      validate
    else
      @client.execute(m)
    end
  end
end
monitor(name, &block) click to toggle source

@param [String] name @param [Proc] block @return [Array]

# File lib/dogwatch/monitor.rb, line 26
def monitor(name, &block)
  monitor = DogWatch::Model::Monitor.new(name)
  monitor.instance_eval(&block)
  @monitors << monitor
end