Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions lib/poro_validator/validator/base_class.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ def initialize
@validations = []
end

# Public - Calls the internal #__run_validations__ method to perform the
# Public - Calls the internal #validate method to perform the
# validations stored in the @validations instance array against a
# validator context if the conditions are truthy.
def run_validations(context)
__run_validations__(context)
validate(context)
end

# Adds/appends validations to the validations array
Expand All @@ -38,16 +38,15 @@ def validators
private

# @private
def __run_validations__(context)
def validate(context)
validations.each do |validation|
validator = validation[:validator]
conditions = validation[:conditions] || {}

unless conditions.empty?
next unless Conditions.matched?(conditions, context)
end

validator.__validate__(context)
validation[:validator].validate_context(context)
end
end
end
Expand Down
1 change: 1 addition & 0 deletions lib/poro_validator/validator/validation.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
module PoroValidator
module Validator
# @private
class Validation
# Builds a validation from the params passed which is initiated first
# then passed into the Validators.set_validator method
Expand Down
2 changes: 1 addition & 1 deletion lib/poro_validator/validators/base_class.rb
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ def value
end

# @private
def __validate__(validator_context)
def validate_context(validator_context)
@context = validator_context
@errors = validator_context.errors
validate(attribute, value, options)
Expand Down
8 changes: 4 additions & 4 deletions spec/lib/poro_validator/validator/base_class_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

let(:klass) do
Class.new do
def __validate__(kotenxt)
def validate_context(kotenxt)
true
end
end
Expand All @@ -36,9 +36,9 @@ def __validate__(kotenxt)
subject << validator1
subject << validator2

expect(validator1[:validator]).to receive(:__validate__).
expect(validator1[:validator]).to receive(:validate_context).
with(kontext).once
expect(validator2[:validator]).to receive(:__validate__).
expect(validator2[:validator]).to receive(:validate_context).
with(kontext).once

subject.run_validations(kontext)
Expand All @@ -53,7 +53,7 @@ def __validate__(kotenxt)

subject << validator

expect(validator[:validator]).to_not receive(:__validate__)
expect(validator[:validator]).to_not receive(:validate_context)

subject.run_validations(kontext)
end
Expand Down