execute_validation

in lib/core/filtering/filter_validator.rb [64:85]


      def execute_validation(validators, filter)
        validation_results = []

        validator_type = validators['type']
        advanced_snippet = filter.dig('advanced_snippet', 'value')

        validators['classes'].each do |validator_class|
          case validator_type
          when ADVANCED_SNIPPET
            validation_result = validator_class.new(advanced_snippet).is_snippet_valid
          when SIMPLE_RULES
            validation_result = validator_class.new(filter['rules']).are_rules_valid
          else
            raise "Unknown validator: #{validator_type}"
          end

          validation_results.push(validation_result) if validation_result[:state] == Core::Filtering::ValidationStatus::INVALID
        end

        merge_validation_results(*validation_results)
      end