Module: Core::Filtering::SimpleRules::Validation
- Defined in:
- lib/core/filtering/simple_rules/validation/simple_rules_schema.rb,
lib/core/filtering/simple_rules/validation/simple_rules_validator.rb,
lib/core/filtering/simple_rules/validation/single_rule_against_schema_validator.rb,
lib/core/filtering/simple_rules/validation/no_conflicting_policies_rules_validator.rb
Defined Under Namespace
Classes: NoConflictingPoliciesRulesValidator, SimpleRulesValidator, SingleRuleAgainstSchemaValidator
Constant Summary collapse
- DEFAULT_RULE_ID =
'DEFAULT'
- ALLOWED_VALUE_TYPES =
->(rule_value) { rule_value.is_a?(String) || rule_value.is_a?(Integer) || rule_value.is_a?(TrueClass) || rule_value.is_a?(FalseClass) }
- MATCH_ALL_REGEX_NOT_ALLOWED =
->(simple_rule) { simple_rule['id'] == DEFAULT_RULE_ID || !(simple_rule['rule'] == Core::Filtering::SimpleRule::Rule::REGEX && (simple_rule['value'] == '(.*)' || simple_rule['value'] == '.*')) }
- SINGLE_RULE_SCHEMA =
{ :fields => { :constraints => [MATCH_ALL_REGEX_NOT_ALLOWED], :values => [ { :name => 'id', :type => String, :optional => false }, { :name => 'field', :type => String, :optional => false }, { :name => 'value', :type => ALLOWED_VALUE_TYPES, :optional => false }, { :name => 'policy', :type => ->(policy) { Core::Filtering::SimpleRule::Policy::POLICIES.include?(policy) }, :optional => false }, { :name => 'rule', :type => ->(rule) { Core::Filtering::SimpleRule::Rule::RULES.include?(rule) }, :optional => false }, { :name => 'order', :type => ->(order) { order.is_a?(Integer) && order >= 0 }, }, { :name => 'updated_at', :type => String, :optional => true }, { :name => 'created_at', :type => String, :optional => true } ] } }
- SIMPLE_RULES_ID =
'simple_rules'