module GraphQL::Schema::Member::HasArguments
Public Class Methods
extended(cls)
click to toggle source
# File lib/graphql/schema/member/has_arguments.rb, line 9 def self.extended(cls) cls.extend(ArgumentClassAccessor) end
included(cls)
click to toggle source
# File lib/graphql/schema/member/has_arguments.rb, line 5 def self.included(cls) cls.extend(ArgumentClassAccessor) end
Public Instance Methods
argument(*args, **kwargs, &block)
click to toggle source
@see {GraphQL::Schema::Argument#initialize} for parameters @return [GraphQL::Schema::Argument] An instance of {arguments_class}, created from `*args`
# File lib/graphql/schema/member/has_arguments.rb, line 15 def argument(*args, **kwargs, &block) kwargs[:owner] = self arg_defn = self.argument_class.new(*args, **kwargs, &block) own_arguments[arg_defn.name] = arg_defn end
argument_class(new_arg_class = nil)
click to toggle source
@param new_arg_class [Class] A class to use for building argument definitions
# File lib/graphql/schema/member/has_arguments.rb, line 29 def argument_class(new_arg_class = nil) self.class.argument_class(new_arg_class) end
arguments()
click to toggle source
@return [Hash<String => GraphQL::Schema::Argument] Arguments defined on this thing, keyed by name. Includes inherited definitions
# File lib/graphql/schema/member/has_arguments.rb, line 22 def arguments inherited_arguments = ((self.is_a?(Class) && superclass.respond_to?(:arguments)) ? superclass.arguments : {}) # Local definitions override inherited ones inherited_arguments.merge(own_arguments) end
own_arguments()
click to toggle source
# File lib/graphql/schema/member/has_arguments.rb, line 43 def own_arguments @own_arguments ||= {} end