class RuboCop::RSpec::DescriptionExtractor::CodeObject

Decorator of a YARD code object for working with documented rspec cops

def abstract?

def abstract?
  yardoc.tags.any? { |tag| tag.tag_name.eql?('abstract') }
end

def configuration

Returns:
  • (Hash) -
def configuration
  { cop_name => { 'Description' => description } }
end

def cop_name

def cop_name
  Object.const_get(documented_constant).cop_name
end

def cop_subclass?

def cop_subclass?
  [RSPEC_COP_CLASS_NAME,
   RUBOCOP_COP_CLASS_NAME].include?(yardoc.superclass.path)
end

def description

def description
  yardoc.docstring.split("\n\n").first.to_s
end

def documented_constant

def documented_constant
  yardoc.to_s
end

def initialize(yardoc)

def initialize(yardoc)
  @yardoc = yardoc
end

def rspec_cop?

Returns:
  • (Boolean) -
def rspec_cop?
  cop_subclass? && !abstract? && rspec_cop_namespace?
end

def rspec_cop_namespace?

def rspec_cop_namespace?
  documented_constant.start_with?(RSPEC_NAMESPACE)
end