Sha256: 0eba2a8f9a190d958b5a1fa4f6b6048ee7cf5f303554250b0f916c4452961e67
Contents?: true
Size: 897 Bytes
Versions: 19
Compression:
Stored size: 897 Bytes
Contents
# frozen_string_literal: true module GraphQL class Schema class Validator # Use this to specifically reject values from an argument. # # @example disallow certain values # # argument :favorite_non_prime, Integer, required: true, # validates: { exclusion: { in: [2, 3, 5, 7, ... ]} } # class ExclusionValidator < Validator # @param message [String] # @param in [Array] The values to reject def initialize(message: "%{validated} is reserved", in:, **default_options) # `in` is a reserved word, so work around that @in_list = binding.local_variable_get(:in) @message = message super(**default_options) end def validate(_object, _context, value) if @in_list.include?(value) @message end end end end end end
Version data entries
19 entries across 19 versions & 1 rubygems