lib/contrast/agent/telemetry/events/exceptions/telemetry_exception_base.rb in contrast-agent-6.0.0 vs lib/contrast/agent/telemetry/events/exceptions/telemetry_exception_base.rb in contrast-agent-6.1.0
- old
+ new
@@ -1,51 +1,59 @@
# Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
# frozen_string_literal: true
module Contrast
module Agent
- # This class will hold the all the mutual information for the Telemetry Exception
- class TelemetryExceptionBase
- def to_controlled_hash; end
+ module Telemetry
+ module TelemetryException
+ # This class will hold the all the mutual information for the Telemetry Exception
+ class Base
+ def to_controlled_hash; end
- protected
+ protected
- # Validate required and option fields
- #
- # @param validations [Hash] Validation hash to use
- # @return [nil]
- def validate validations
- validations.each do |k, v|
- next if v[:required] == false
+ # Validate required and option fields
+ #
+ # @param validations [Hash] Validation hash to use
+ # @return [nil]
+ def validate validations
+ validations.each do |k, v|
+ next if v[:required] == false
- validate_field validations[k], k
- end
- nil
- end
+ validate_field(validations[k], k)
+ end
+ nil
+ end
- # This method will validate every single field passed from validate
- #
- # @param validation_pair [Hash] Validation hash to use
- # @param key[String] The key to check in VALIDATIONS
- def validate_field validation_pair, key
- value_to_validate = send(key.to_sym)
- validate_class value_to_validate, validation_pair[:class], key if validation_pair.key?(:class)
- value_length = value_to_validate.cs__is_a?(String) ? value_to_validate.length : value_to_validate.entries.length
- unless validation_pair[:range].include?(value_length)
- raise ArgumentError, "The provided value for #{ key } is invalid"
- end
+ # This method will validate every single field passed from validate
+ #
+ # @param validation_pair [Hash] Validation hash to use
+ # @param key[String] The key to check in VALIDATIONS
+ def validate_field validation_pair, key
+ value_to_validate = send(key.to_sym)
+ validate_class(value_to_validate, validation_pair[:class], key) if validation_pair.key?(:class)
+ value_length = if value_to_validate.cs__is_a?(String) || value_to_validate.cs__is_a?(Array)
+ value_to_validate.length
+ else
+ value_to_validate.entries.length
+ end
+ unless validation_pair[:range].include?(value_length)
+ raise ArgumentError, "The provided value for #{ key } is invalid: #{ value_to_validate }"
+ end
- nil
- end
+ nil
+ end
- # With the all nested classes, we still need to double check if everything passed along the way
- # is right
- # @param message [Object] The message we want to check the class of
- # @param klass [Class] The klass we want to check the message with
- # @param field [Object] The field with the error
- def validate_class message, klass, field
- message = message[0] if message.cs__is_a?(Array)
- raise ArgumentError, "The provided value for #{ field } is invalid" unless message.cs__is_a? klass
+ # With the all nested classes, we still need to double check if everything passed along the way
+ # is right
+ # @param message [Object] The message we want to check the class of
+ # @param klass [Class] The klass we want to check the message with
+ # @param field [Object] The field with the error
+ def validate_class message, klass, field
+ message = message[0] if message.cs__is_a?(Array)
+ raise ArgumentError, "The provided value for #{ field } is of wrong class" unless message.cs__is_a? klass
+ end
+ end
end
end
end
end