class WeakParameters::ListValidator

Attributes

validator[R]

Public Class Methods

new(controller, key, validator, options) click to toggle source
Calls superclass method WeakParameters::BaseValidator::new
# File lib/weak_parameters/list_validator.rb, line 4
def initialize(controller, key, validator, options)
  super controller, key, options
  @validator = validator
end

Public Instance Methods

strong_params(*args) click to toggle source
# File lib/weak_parameters/list_validator.rb, line 19
def strong_params(*args)
  super

  return {} unless exist?
  strong_values = value.map.with_index do |_, i|
    validator.strong_params(*path, i)[i]
  end.compact
  strong_values.present? ? { key => strong_values } : {}
end
validate(*args) click to toggle source
Calls superclass method WeakParameters::BaseValidator#validate
# File lib/weak_parameters/list_validator.rb, line 9
def validate(*args)
  super

  if valid? && exist?
    value.each.with_index do |_, i|
      validator.validate(*path, i)
    end
  end
end
validators() click to toggle source
# File lib/weak_parameters/list_validator.rb, line 29
def validators
  [ validator ]
end