Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'rubocop/cop/graphql/descriptions.rb')
-rw-r--r--rubocop/cop/graphql/descriptions.rb20
1 files changed, 12 insertions, 8 deletions
diff --git a/rubocop/cop/graphql/descriptions.rb b/rubocop/cop/graphql/descriptions.rb
index 0d69fd55931..3c945507699 100644
--- a/rubocop/cop/graphql/descriptions.rb
+++ b/rubocop/cop/graphql/descriptions.rb
@@ -42,7 +42,9 @@
module RuboCop
module Cop
module Graphql
- class Descriptions < RuboCop::Cop::Cop
+ class Descriptions < RuboCop::Cop::Base
+ extend RuboCop::Cop::AutoCorrector
+
MSG_STYLE_GUIDE_LINK = 'See the description style guide: https://docs.gitlab.com/ee/development/api_graphql_styleguide.html#description-style-guide'
MSG_NO_DESCRIPTION = "Please add a `description` property. #{MSG_STYLE_GUIDE_LINK}"
MSG_NO_PERIOD = "`description` strings must end with a `.`. #{MSG_STYLE_GUIDE_LINK}"
@@ -74,15 +76,17 @@ module RuboCop
description = locate_description(node)
- return add_offense(node, location: :expression, message: MSG_NO_DESCRIPTION) unless description
+ message = if description.nil?
+ MSG_NO_DESCRIPTION
+ elsif no_period?(description)
+ MSG_NO_PERIOD
+ elsif bad_start?(description)
+ MSG_BAD_START
+ end
- add_offense(node, location: :expression, message: MSG_NO_PERIOD) if no_period?(description)
- add_offense(node, location: :expression, message: MSG_BAD_START) if bad_start?(description)
- end
+ return unless message
- # Autocorrect missing periods at end of description.
- def autocorrect(node)
- lambda do |corrector|
+ add_offense(node, message: message) do |corrector|
description = locate_description(node)
next unless description