Class: Vanguard::Rule

Inherits:
Object
  • Object
show all
Includes:
AbstractType, Adamantium::Flat
Defined in:
lib/vanguard/rule.rb,
lib/vanguard/rule/guard.rb,
lib/vanguard/rule/nullary.rb,
lib/vanguard/rule/nullary/attribute.rb,
lib/vanguard/rule/nullary/confirmation.rb,
lib/vanguard/rule/nullary/attribute/format.rb,
lib/vanguard/rule/nullary/attribute/length.rb,
lib/vanguard/rule/nullary/attribute/absence.rb,
lib/vanguard/rule/nullary/attribute/presence.rb,
lib/vanguard/rule/nullary/attribute/inclusion.rb,
lib/vanguard/rule/nullary/attribute/predicate.rb,
lib/vanguard/rule/nullary/attribute/primitive.rb

Overview

Abstract base class for resource rules

Direct Known Subclasses

Guard, Nullary

Defined Under Namespace

Classes: Guard, Nullary

Instance Method Summary collapse

Instance Method Details

#evaluate(resource) ⇒ Evaluator

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return evaluator for resource

Parameters:

  • resource (Object)

    the target object to be validated

Returns:



28
29
30
# File 'lib/vanguard/rule.rb', line 28

def evaluate(resource)
  evaluator.new(self, resource)
end

#evaluatorClass:Evaluator

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return evaluator

Returns:

  • (Class:Evaluator)


38
39
40
# File 'lib/vanguard/rule.rb', line 38

def evaluator
  self.class::Evaluator
end

#violations(resource) ⇒ Enumerable<Violations>

Return violations for resource

Parameters:

  • resource (Resource)

Returns:

  • (Enumerable<Violations>)


15
16
17
# File 'lib/vanguard/rule.rb', line 15

def violations(resource)
  evaluate(resource).violations
end