class RuboCop::Cop::Style::PublicClassDocumentation

TODO: Write cop description and example of bad / good code. For every `SupportedStyle` and unique configuration, there needs to be examples. Examples must have valid Ruby syntax. Do not use upticks.

@example EnforcedStyle: PublicClassDocumentation (default)

# Description of the `PublicClassDocumentation` style.

# bad
class xxx

# bad
# class xxx documentation
class xxx

# bad
# class xxx documentation
# the end
class xxx

# good
# class xxx documentation
#
class xxx

Public Instance Methods

on_class(node) click to toggle source

overide method to add on my class doc

Parameters:

  • :node a class node

Calls superclass method
# File lib/rubocop/cop/style/public_class_documentation.rb, line 44
def on_class(node)
  check_class_comment(node, :class)
  super
end

Private Instance Methods

check_class_comment(node, type) click to toggle source
# File lib/rubocop/cop/style/public_class_documentation.rb, line 51
def check_class_comment(node, type)
  if documentation_comment?(node)
    add_offense(preceding_lines(node).last, message: 'Class documentation should end with an empty line') unless class_comment_blank?(node)
  else
    add_offense(node, message: 'Missing class documentation')
  end
end
class_comment_blank?(node) click to toggle source
# File lib/rubocop/cop/style/public_class_documentation.rb, line 59
def class_comment_blank?(node)
  # assumes a comment exists
  last_line = preceding_lines(node).last
  /^\#$/.match?(last_line.text)
end