module RequestParamsValidation::Params::Validators::Length
Public Instance Methods
default_invalid_length_message(min, max)
click to toggle source
# File lib/request_params_validation/params/validators/length.rb, line 19 def default_invalid_length_message(min, max) message = if param.element_of_array? 'All elements of the array should have a length' else 'Length should be' end if min && max min == max ? "#{message} equal to #{max}" : "#{message} between #{min} and #{max}" elsif min "#{message} greater or equal than #{min}" else "#{message} less or equal than #{max}" end end
validate_length!()
click to toggle source
# File lib/request_params_validation/params/validators/length.rb, line 5 def validate_length! min = param.length.min max = param.length.max if (min && value.length < min) || (max && value.length > max) raise_error( :on_invalid_parameter_length, min: min, max: max, details: param.length.message || default_invalid_length_message(min, max) ) end end