module Parxer::ParserValidator
Public Instance Methods
add_row_validator(validator_name, config, &block)
click to toggle source
# File lib/parxer/parsers/concerns/validator.rb, line 70 def add_row_validator(validator_name, config, &block) row_validators.add_validator(validator_name, config, &block) end
add_validator(validator_name, config, &block)
click to toggle source
# File lib/parxer/parsers/concerns/validator.rb, line 62 def add_validator(validator_name, config, &block) file_validators.add_validator(validator_name, config, &block) end
file_validators()
click to toggle source
# File lib/parxer/parsers/concerns/validator.rb, line 8 def file_validators @file_validators ||= inherited_collection(self, :file_validators, Parxer::Validators) end
row_validators()
click to toggle source
# File lib/parxer/parsers/concerns/validator.rb, line 12 def row_validators @row_validators ||= inherited_collection(self, :row_validators, Parxer::Validators) end
valid_file?()
click to toggle source
# File lib/parxer/parsers/concerns/validator.rb, line 16 def valid_file? !file_error end
validate_file()
click to toggle source
# File lib/parxer/parsers/concerns/validator.rb, line 20 def validate_file file_validators.each do |validator| validator.context = self next if !valid_file? || validator.validate @file_error = validator.id end valid_file? end
validate_row()
click to toggle source
# File lib/parxer/parsers/concerns/validator.rb, line 30 def validate_row row_validators.each do |validator| validator.context = self next if !validate_row?(validator) || validator.validate row.add_error(:base, validator.id) end !row.errors? end
validate_row?(validator)
click to toggle source
# File lib/parxer/parsers/concerns/validator.rb, line 40 def validate_row?(validator) attrs = validator.config[:if_valid] return !row.errors? if attrs.blank? attrs.select { |a| row.attribute_error?(a) }.none? end
validate_row_attribute()
click to toggle source
# File lib/parxer/parsers/concerns/validator.rb, line 46 def validate_row_attribute attribute.validators.each do |validator| validator.context = self next if row.attribute_error?(attribute.id) || validator.validate row.add_error(attribute.id, validator.id) end !row.attribute_error?(attribute.id) end