class RuboCop::Cop::RSpec::DescribeClass

end
describe “A feature example”, type: :feature do
end
subject { Object.const_get(self.class.description) }
describe ‘TestedClass::VERSION’ do
end
subject { described_class }
describe TestedClass do
# good
end
describe ‘Do something’ do
# bad
@example
Check that the first argument to the top level describe is a constant.

def on_top_level_describe(node, (described_value, _))

def on_top_level_describe(node, (described_value, _))
  return if shared_group?(root_node)
  return if valid_describe?(node)
  return if describe_with_rails_metadata?(node)
  return if string_constant_describe?(described_value)
  add_offense(described_value)
end

def string_constant_describe?(described_value)

def string_constant_describe?(described_value)
  described_value.str_type? &&
    described_value.value =~ /^((::)?[A-Z]\w*)+$/
end