Class: Core::Filtering::SimpleRules::Validation::NoConflictingPoliciesRulesValidator

Inherits:
SimpleRulesValidator
  • Object
show all
Defined in:
lib/core/filtering/simple_rules/validation/no_conflicting_policies_rules_validator.rb

Instance Method Summary collapse

Methods inherited from SimpleRulesValidator

#initialize

Constructor Details

This class inherits a constructor from Core::Filtering::SimpleRules::Validation::SimpleRulesValidator

Instance Method Details

#are_rules_validObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/core/filtering/simple_rules/validation/no_conflicting_policies_rules_validator.rb', line 17

def are_rules_valid
  rule_field_value_to_policy = {}

  @rules.each do |simple_rule|
    rule_field_value = simple_rule.slice('rule', 'field', 'value')
    policy = simple_rule['policy']

    return conflicting_rules(rule_field_value) if rule_field_value_to_policy.key?(rule_field_value)

    rule_field_value_to_policy[rule_field_value] = policy
  end

  { :state => Core::Filtering::ValidationStatus::VALID, :errors => [] }
end