lib/graphql/schema/member/has_deprecation_reason.rb in graphql-2.0.17.2 vs lib/graphql/schema/member/has_deprecation_reason.rb in graphql-2.0.18
- old
+ new
@@ -3,20 +3,19 @@
module GraphQL
class Schema
class Member
module HasDeprecationReason
# @return [String, nil] Explains why this member was deprecated (if present, this will be marked deprecated in introspection)
- def deprecation_reason
- dir = self.directives.find { |d| d.is_a?(GraphQL::Schema::Directive::Deprecated) }
- dir && dir.arguments[:reason] # rubocop:disable Development/ContextIsPassedCop -- definition-related
- end
+ attr_reader :deprecation_reason
# Set the deprecation reason for this member, or remove it by assigning `nil`
# @param text [String, nil]
def deprecation_reason=(text)
+ @deprecation_reason = text
if text.nil?
remove_directive(GraphQL::Schema::Directive::Deprecated)
else
+ # This removes a previously-attached directive, if there is one:
directive(GraphQL::Schema::Directive::Deprecated, reason: text)
end
end
end
end