Sha256: c909030fda65b7ea844edaedaa7e0afbeb985dbbfbacdf6fb3b6da96648323cc
Contents?: true
Size: 913 Bytes
Versions: 2
Compression:
Stored size: 913 Bytes
Contents
# frozen_string_literal: true module GraphQL module Define # Turn argument configs into a {GraphQL::Argument}. module AssignArgument def self.call(target, name, type = nil, description = nil, **rest, &block) argument = if block_given? GraphQL::Argument.define(&block) else GraphQL::Argument.new end unsupported_keys = rest.keys - [:default_value, :as] if unsupported_keys.any? raise ArgumentError.new("unknown keyword#{unsupported_keys.length > 1 ? 's' : ''}: #{unsupported_keys.join(', ')}") end argument.name = name.to_s type && argument.type = type description && argument.description = description rest.key?(:default_value) && argument.default_value = rest[:default_value] argument.as = rest[:as] target.arguments[name.to_s] = argument end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
graphql-1.4.5 | lib/graphql/define/assign_argument.rb |
graphql-1.4.4 | lib/graphql/define/assign_argument.rb |