@@ -45,7 +45,8 @@ def from_resolver?
4545 # @param camelize [Boolean] if true, the name will be camelized when building the schema
4646 # @param from_resolver [Boolean] if true, a Resolver class defined this argument
4747 # @param method_access [Boolean] If false, don't build method access on legacy {Query::Arguments} instances.
48- def initialize ( arg_name = nil , type_expr = nil , desc = nil , required :, type : nil , name : nil , loads : nil , description : nil , ast_node : nil , default_value : NO_DEFAULT , as : nil , from_resolver : false , camelize : true , prepare : nil , method_access : true , owner :, &definition_block )
48+ # @param deprecation_reason [String]
49+ def initialize ( arg_name = nil , type_expr = nil , desc = nil , required :, type : nil , name : nil , loads : nil , description : nil , ast_node : nil , default_value : NO_DEFAULT , as : nil , from_resolver : false , camelize : true , prepare : nil , method_access : true , owner :, deprecation_reason : nil , &definition_block )
4950 arg_name ||= name
5051 @name = -( camelize ? Member ::BuildType . camelize ( arg_name . to_s ) : arg_name . to_s )
5152 @type_expr = type_expr || type
@@ -60,6 +61,7 @@ def initialize(arg_name = nil, type_expr = nil, desc = nil, required:, type: nil
6061 @ast_node = ast_node
6162 @from_resolver = from_resolver
6263 @method_access = method_access
64+ @deprecation_reason = deprecation_reason
6365
6466 if definition_block
6567 if definition_block . arity == 1
@@ -89,6 +91,17 @@ def description(text = nil)
8991 end
9092 end
9193
94+ attr_writer :deprecation_reason
95+
96+ # @return [String] Deprecation reason for this argument
97+ def deprecation_reason ( text = nil )
98+ if text
99+ @deprecation_reason = text
100+ else
101+ @deprecation_reason
102+ end
103+ end
104+
92105 def visible? ( context )
93106 true
94107 end
@@ -143,6 +156,9 @@ def to_graphql
143156 if NO_DEFAULT != @default_value
144157 argument . default_value = @default_value
145158 end
159+ if @deprecation_reason
160+ argument . deprecation_reason = @deprecation_reason
161+ end
146162 argument
147163 end
148164
0 commit comments