22 lines
696 B
Ruby
22 lines
696 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
module Gitlab
|
||
|
module Graphql
|
||
|
module CopyFieldDescription
|
||
|
extend ActiveSupport::Concern
|
||
|
|
||
|
class_methods do
|
||
|
# Returns the `description` for property of field `field_name` on type.
|
||
|
# This can be used to ensure, for example, that mutation argument descriptions
|
||
|
# are always identical to the corresponding query field descriptions.
|
||
|
#
|
||
|
# E.g.:
|
||
|
# argument :name, GraphQL::STRING_TYPE, description: copy_field_description(Types::UserType, :name)
|
||
|
def copy_field_description(type, field_name)
|
||
|
type.fields[field_name.to_s.camelize(:lower)].description
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|