class Rubocop::Cop::Style::EmptyLinesAroundAccessModifier

Access modifiers should be surrounded by blank lines.

def class_def?(line)

def class_def?(line)
  %w(class module).any? { |keyword| line.start_with?(keyword) }
end

def empty_lines_around?(node)

def empty_lines_around?(node)
  send_line = node.loc.line
  previous_line = processed_source[send_line - 2]
  next_line = processed_source[send_line]
  (class_def?(previous_line.lstrip) ||
   previous_line.blank?) &&
    next_line.blank?
end

def message(node)

def message(node)
  format(MSG, node.loc.selector.source)
end

def modifier_node?(node)

def modifier_node?(node)
  [PRIVATE_NODE, PROTECTED_NODE, PUBLIC_NODE].include?(node)
end

def on_send(node)

def on_send(node)
  return unless modifier_node?(node)
  return if empty_lines_around?(node)
  add_offense(node, :expression)
end