class RuboCop::Cop::Style::StructInheritance

Person = Struct.new(:first_name, :last_name)
# good
end
class Person < Struct.new(:first_name, :last_name)
# bad
@example
This cop checks for inheritance from Struct.new.

def on_class(node)

def on_class(node)
  _name, superclass, _body = *node
  return unless struct_constructor?(superclass)
  add_offense(node, superclass.source_range, MSG)
end

def struct_constructor?(node)

def struct_constructor?(node)
  return false unless node
  send_node = node.block_type? ? node.children.first : node
  return false unless send_node.send_type?
  receiver, method_name = *send_node
  receiver &&
    receiver.const_type? &&
    receiver.children.last == :Struct &&
    method_name == :new
end