class Rubocop::Cop::Style::AccessControl
surrounded by blank lines.
Modifiers should be indented as deeps are method definitions and
A couple of checks related to the use method visibility modifiers.
def investigate(processed_source)
def investigate(processed_source) ast = processed_source.ast return unless ast on_node([:class, :module, :sclass], ast) do |class_node| class_start_col = class_node.loc.expression.column # we'll have to walk all class children nodes # except other class/module nodes class_node.children.compact.each do |node| on_node(:send, node, [:class, :module, :sclass]) do |send_node| if modifier_node?(send_node) send_start_col = send_node.loc.expression.column selector = send_node.loc.selector.source if send_start_col - 2 != class_start_col add_offence(:convention, send_node.loc.expression, format(INDENT_MSG, selector)) end send_line = send_node.loc.line unless processed_source[send_line].chomp.empty? && processed_source[send_line - 2].chomp.empty? add_offence(:convention, send_node.loc.expression, format(BLANK_MSG, selector)) end end end end end end
def modifier_node?(node)
def modifier_node?(node) [PRIVATE_NODE, PROTECTED_NODE, PUBLIC_NODE].include?(node) end