Class: Core::Filtering::FilterValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/core/filtering/filter_validator.rb

Constant Summary collapse

ADVANCED_SNIPPET =
'Advanced Snippet'
SIMPLE_RULES =
'Simple Rules'

Instance Method Summary collapse

Constructor Details

#initialize(snippet_validator_classes: [], rules_validator_classes: [], rules_pre_processing_active: false) ⇒ FilterValidator

Returns a new instance of FilterValidator.



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/core/filtering/filter_validator.rb', line 19

def initialize(snippet_validator_classes: [], rules_validator_classes: [], rules_pre_processing_active: false)
  @snippet_validators_classes = {
      'classes' => extract_advanced_snippet_validators(snippet_validator_classes),
      'type' => ADVANCED_SNIPPET
    }

  @rules_validator_classes = {
      'classes' => extract_simple_rule_validators(rules_validator_classes, rules_pre_processing_active),
      'type' => SIMPLE_RULES
  }
end

Instance Method Details

#is_filter_valid(filter = {}) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
# File 'lib/core/filtering/filter_validator.rb', line 31

def is_filter_valid(filter = {})
  return { :state => Core::Filtering::ValidationStatus::VALID, :errors => [] } unless filter.present?

  snippet_validation_result = execute_validation(@snippet_validators_classes, filter)
  log_validation_result(snippet_validation_result, ADVANCED_SNIPPET)

  rules_validation_result = execute_validation(@rules_validator_classes, filter)
  log_validation_result(rules_validation_result, SIMPLE_RULES)

  merge_validation_results(snippet_validation_result, rules_validation_result)
end