Method: GraphQL::Schema::Member::HasArguments#argument
- Defined in:
- lib/graphql/schema/member/has_arguments.rb
#argument(arg_name = nil, type_expr = nil, desc = nil, **kwargs, &definition_block) ⇒ GraphQL::Schema::Argument
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns An instance of #argument_class created from these arguments.
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/graphql/schema/member/has_arguments.rb', line 39 def argument(arg_name = nil, type_expr = nil, desc = nil, **kwargs, &definition_block) if kwargs[:loads] loads_name = arg_name || kwargs[:name] loads_name_as_string = loads_name.to_s inferred_arg_name = case loads_name_as_string when /_id$/ loads_name_as_string.sub(/_id$/, "").to_sym when /_ids$/ loads_name_as_string.sub(/_ids$/, "") .sub(/([^s])$/, "\\1s") .to_sym else loads_name end kwargs[:as] ||= inferred_arg_name end kwargs[:owner] = self arg_defn = self.argument_class.new( arg_name, type_expr, desc, **kwargs, &definition_block ) add_argument(arg_defn) arg_defn end |