class InputSanitizer::V2::CleanQueryCollectionField
Public Instance Methods
call()
click to toggle source
# File lib/input_sanitizer/v2/clean_query_collection_field.rb, line 2 def call validate_type validate_size result, errors = [], {} items.each_with_index do |value, idx| begin result << converter.call(value, options) rescue InputSanitizer::ValidationError => e errors[idx] = e end end if errors.any? raise InputSanitizer::CollectionError.new(errors) else result end end
Private Instance Methods
items()
click to toggle source
# File lib/input_sanitizer/v2/clean_query_collection_field.rb, line 23 def items @items ||= data.to_s.split(',') end
validate_size()
click to toggle source
# File lib/input_sanitizer/v2/clean_query_collection_field.rb, line 31 def validate_size if collection.respond_to?(:fetch) if collection[:minimum] && items.length < collection[:minimum] raise InputSanitizer::CollectionLengthError.new(items.length, collection[:minimum], collection[:maximum]) elsif collection[:maximum] && items.length > collection[:maximum] raise InputSanitizer::CollectionLengthError.new(items.length, collection[:minimum], collection[:maximum]) end end end
validate_type()
click to toggle source
# File lib/input_sanitizer/v2/clean_query_collection_field.rb, line 27 def validate_type InputSanitizer::V2::Types::StringCheck.new.call(data) end