Method: DogWatch::Model::Monitor#validate

Defined in:
lib/dogwatch/model/monitor.rb

#validateDogWatch::Model::Response



60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/dogwatch/model/monitor.rb', line 60

def validate
  return DogWatch::Model::Response.new(invalid_type_response, 'invalid') \
    unless TYPE_MAP.key?(@monitor_type)

  errors = []
  errors.push('Missing monitor type') if missing_type?
  errors.push('Missing monitor query') if missing_query?

  if errors.empty?
    DogWatch::Model::Response.new(['200', { :message => 'valid' }], 'valid')
  else
    DogWatch::Model::Response.new(['400', { 'errors' => errors }], 'invalid')
  end
end