Module: GraphQL::StaticValidation::TypeStack::ArgumentStrategy
- Defined in:
- lib/graphql/static_validation/type_stack.rb
Class Method Summary collapse
- .pop(stack, node) ⇒ Object
-
.push(stack, node) ⇒ Object
Push
argument_defn
onto the stack.
Class Method Details
.pop(stack, node) ⇒ Object
165 166 167 168 |
# File 'lib/graphql/static_validation/type_stack.rb', line 165 def pop(stack, node) stack.argument_definitions.pop stack.path.pop end |
.push(stack, node) ⇒ Object
Push argument_defn
onto the stack.
It's possible that argument_defn
will be nil.
Push it anyways so pop
has something to pop.
146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
# File 'lib/graphql/static_validation/type_stack.rb', line 146 def push(stack, node) if stack.argument_definitions.last arg_type = stack.argument_definitions.last.type.unwrap if arg_type.kind.input_object? argument_defn = arg_type.input_fields[node.name] else argument_defn = nil end elsif stack.directive_definitions.last argument_defn = stack.directive_definitions.last.arguments[node.name] elsif stack.field_definitions.last argument_defn = stack.field_definitions.last.arguments[node.name] else argument_defn = nil end stack.argument_definitions.push(argument_defn) stack.path.push(node.name) end |