# frozen_string_literal: true module RuboCop module Cop module Style # Ensures magic comments are written consistently throughout your code base. # Looks for discrepancies in separators (`-` vs `_`) and capitalization for # both magic comment directives and values. # # Required capitalization can be set with the `DirectiveCapitalization` and # `ValueCapitalization` configuration keys. # # NOTE: If one of these configuration is set to nil, any capitalization is allowed. # # @example EnforcedStyle: snake_case (default) # # The `snake_case` style will enforce that the frozen string literal # # comment is written in snake case. (Words separated by underscores) # # bad # # frozen-string-literal: true # # module Bar # # ... # end # # # good # # frozen_string_literal: false # # module Bar # # ... # end # # @example EnforcedStyle: kebab_case # # The `kebab_case` style will enforce that the frozen string literal # # comment is written in kebab case. (Words separated by hyphens) # # bad # # frozen_string_literal: true # # module Baz # # ... # end # # # good # # frozen-string-literal: true # # module Baz # # ... # end # # @example DirectiveCapitalization: lowercase (default) # # bad # # FROZEN-STRING-LITERAL: true # # # good # # frozen-string-literal: true # # @example DirectiveCapitalization: uppercase # # bad # # frozen-string-literal: true # # # good # # FROZEN-STRING-LITERAL: true # # @example DirectiveCapitalization: nil # # any capitalization is accepted # # # good # # frozen-string-literal: true # # # good # # FROZEN-STRING-LITERAL: true # # @example ValueCapitalization: nil (default) # # any capitalization is accepted # # # good # # frozen-string-literal: true # # # good # # frozen-string-literal: TRUE # # @example ValueCapitalization: lowercase # # when a value is not given, any capitalization is accepted # # # bad # # frozen-string-literal: TRUE # # # good # # frozen-string-literal: TRUE # # @example ValueCapitalization: uppercase # # bad # # frozen-string-literal: true # # # good # # frozen-string-literal: TRUE # class MagicCommentFormat < Base include ConfigurableEnforcedStyle extend AutoCorrector SNAKE_SEPARATOR = '_' KEBAB_SEPARATOR = '-' MSG = 'Prefer %