Class: Cavalry::Validator

Inherits:
Object
  • Object
show all
Defined in:
lib/cavalry/validator.rb,
lib/cavalry/validator/each_validator.rb,
lib/cavalry/validator/group_validator.rb

Defined Under Namespace

Modules: GroupValidations Classes: EachValidator, GroupValidator, InlineValidator, MethodCallValidator

Class Method Summary collapse

Class Method Details

.execute_validationObject



21
22
23
24
25
26
27
28
# File 'lib/cavalry/validator.rb', line 21

def execute_validation
  error_records = [].tap do |res|
    res << @each_validators.map(&:validate).compact
    res << @group_validators.map(&:validate).compact
  end.flatten

  error_records.map {|e| Error.new(e) }
end

.validate_each(&block) ⇒ Object



13
14
15
# File 'lib/cavalry/validator.rb', line 13

def validate_each(&block)
  @each_validators += @klasses.map {|k| EachValidator.new(k, &block) }
end

.validate_for(*klasses) ⇒ Object



7
8
9
10
11
# File 'lib/cavalry/validator.rb', line 7

def validate_for(*klasses)
  @klasses = klasses.map { |k| append_required_module(k) }
  @each_validators = []
  @group_validators = []
end

.validate_group(&block) ⇒ Object



17
18
19
# File 'lib/cavalry/validator.rb', line 17

def validate_group(&block)
  @group_validators += @klasses.map {|k| GroupValidator.new(k, &block) }
end