class Sensu::Settings::Validator
Attributes
failures[R]
@!attribute [r] failures
@return [Array] validation failures.
Public Class Methods
new()
click to toggle source
# File lib/sensu/settings/validator.rb, line 15 def initialize @failures = [] end
Public Instance Methods
reset!()
click to toggle source
# File lib/sensu/settings/validator.rb, line 42 def reset! failure_count = @failures.size @failures = [] failure_count end
Also aliased as: reset
run(settings, service=nil)
click to toggle source
Run the validator.
@param settings [Hash] sensu settings to validate. @param service [String] sensu service to validate for. @return [Array] validation failures.
# File lib/sensu/settings/validator.rb, line 24 def run(settings, service=nil) validate_sensu(settings[:sensu]) validate_transport(settings[:transport]) validate_categories(settings) case service when "server" validate_tessen(settings[:tessen]) when "client" validate_client(settings[:client]) when "api" validate_api(settings[:api]) when "rspec" validate_client(settings[:client]) validate_api(settings[:api]) end @failures end
Private Instance Methods
invalid(object, message)
click to toggle source
Record an invalid object with a message.
@param object [Object] invalid object. @param message [String] message explaining why the object is
invalid.
@return [Array] current validation failures.
# File lib/sensu/settings/validator.rb, line 80 def invalid(object, message) @failures << { :object => object, :message => message } end
validate_categories(settings)
click to toggle source
Validate setting categories: checks, filters, mutators, and handlers. This method also validates each object type, ensuring that they are hashes.
@param settings [Hash] sensu settings to validate.
# File lib/sensu/settings/validator.rb, line 56 def validate_categories(settings) CATEGORIES.each do |category| if is_a_hash?(settings[category]) validate_method = ("validate_" + category.to_s.chop).to_sym settings[category].each do |name, details| if details.is_a?(Hash) send(validate_method, details.merge(:name => name.to_s)) else object_type = category[0..-2] invalid(details, "#{object_type} must be a hash") end end else invalid(settings[category], "#{category} must be a hash") end end end