Module: ParamsValidator::Filter

Extended by:
ActiveSupport::Inflector
Defined in:
lib/params_validator/filter.rb

Class Method Summary collapse

Class Method Details

.validate_params(params, definition) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/params_validator/filter.rb', line 5

def self.validate_params(params, definition)
  errors = {}
  definition.each do |field, validation_definition|
    errors = validate_field(field, params, validation_definition, errors)

    validation_definition.reject {|k,v| k == :_with }.each do |nested_field, nested_validation_definition|
      errors = validate_field(nested_field, params[field.to_s], nested_validation_definition, errors)
    end
  end
  if errors.count > 0
    exception = InvalidParamsException.new
    exception.errors = errors
    raise exception
  end
end