Class: GraphQL::Validator
- Inherits:
-
Object
- Object
- GraphQL::Validator
- Defined in:
- lib/graphql/validator.rb
Class Method Summary collapse
Class Method Details
.coerce_value(value, type) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/graphql/validator.rb', line 4 def self.coerce_value(value, type) case type when GraphQLNonNull coerce_value(value, type.of_type) when value.nil? nil when GraphQLList values = value.is_a?(Array) ? value : [value] values.map { |value| coerce_value(value, type.of_type) } when GraphQLInputObjectType raise "Not. Implemented. Yet." when GraphQLScalarType, GraphQLEnumType type.parse_value(value) else raise "Must be input type" end end |
.valid_value?(value, type) ⇒ Boolean
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/graphql/validator.rb', line 22 def self.valid_value?(value, type) case type when GraphQLNonNull return false if value.nil? valid_value?(value, type.of_type) when value.nil? true when GraphQLList values = value.is_a?(Array) ? value : [value] values.all? { |value| valid_value?(value, type.of_type) } when GraphQLInputObjectType raise "Not. Implemented. Yet." when GraphQLScalarType, GraphQLEnumType !type.parse_value(value).nil? else raise "Must be input type" end end |