class RuboCop::Cop::Commsworld::UnspecifiedModelPrivacy

Constants

MSG

Public Instance Methods

on_class(node) click to toggle source
# File lib/rubocop/cop/commsworld/unspecified_model_privacy.rb, line 16
def on_class(node)
  return unless module_scope?(node)

  klass_name = node.identifier.node_parts.last

  node.parent.each_child_node do |child|
    next unless private_constant_declaration?(child) || public_constant_declaration?(child)
    return if klass_name == child.arguments.first.value
  end

  add_offense(node, message: message(node))
end

Private Instance Methods

message(node) click to toggle source
# File lib/rubocop/cop/commsworld/unspecified_model_privacy.rb, line 31
def message(node)
  klass_name = node.identifier.node_parts.last

  format(MSG, class_name: klass_name)
end
module_scope?(node) click to toggle source
# File lib/rubocop/cop/commsworld/unspecified_model_privacy.rb, line 37
def module_scope?(node)
  return unless node.parent

  case node.parent.type
  when :begin
    module_scope?(node.parent)
  when :module
    true
  end
end