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