Sha256: 026b9a0fbe8a9742c699eef1750905c7f949d286ab0600037f5383afcda34549
Contents?: true
Size: 1.26 KB
Versions: 1
Compression:
Stored size: 1.26 KB
Contents
# Implement validate_node class GraphQL::StaticValidation::ArgumentsValidator include GraphQL::StaticValidation::Message::MessageHelper def validate(context) visitor = context.visitor visitor[GraphQL::Language::Nodes::Argument] << -> (node, parent) { if parent.is_a?(GraphQL::Language::Nodes::InputObject) arg_defn = context.argument_definition if arg_defn.nil? return else parent_defn = arg_defn.type.unwrap puts "#{node}" puts "#{parent_defn}" if parent_defn.is_a?(GraphQL::ScalarType) return end end elsif context.skip_field?(parent.name) return elsif parent.is_a?(GraphQL::Language::Nodes::Directive) parent_defn = context.schema.directives[parent.name] else parent_defn = context.field_definition end validate_node(parent, node, parent_defn, context) } end private def parent_name(parent, type_defn) field_name = if parent.is_a?(GraphQL::Language::Nodes::Field) parent.alias || parent.name elsif parent.is_a?(GraphQL::Language::Nodes::InputObject) type_defn.name else parent.name end end def node_type(parent) parent.class.name.split("::").last end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
graphql-0.10.5 | lib/graphql/static_validation/arguments_validator.rb |