Class: RuboCop::RSpec::ConfigFormatter

Inherits:
Object
  • Object
show all
Defined in:
lib/rubocop/rspec/config_formatter.rb

Overview

Builds a YAML config file from two config hashes

Constant Summary collapse

EXTENSION_ROOT_DEPARTMENT =
%r{^(RSpec/)}.freeze
SUBDEPARTMENTS =
%(RSpec/Capybara RSpec/FactoryBot RSpec/Rails)
EXTRACTED_COPS =
%(
  RSpec/Capybara/CurrentPathExpectation
  RSpec/Capybara/MatchStyle
  RSpec/Capybara/NegationMatcher
  RSpec/Capybara/SpecificActions
  RSpec/Capybara/SpecificFinders
  RSpec/Capybara/SpecificMatcher
  RSpec/Capybara/VisibilityMatcher
  RSpec/FactoryBot/AttributeDefinedStatically
  RSpec/FactoryBot/ConsistentParenthesesStyle
  RSpec/FactoryBot/CreateList
  RSpec/FactoryBot/FactoryClassName
  RSpec/FactoryBot/FactoryNameStyle
  RSpec/FactoryBot/SyntaxMethods
  RSpec/Rails/AvoidSetupHook
  RSpec/Rails/HaveHttpStatus
  RSpec/Rails/HttpStatus
  RSpec/Rails/InferredSpecType
  RSpec/Rails/MinitestAssertions
  RSpec/Rails/NegationBeValid
  RSpec/Rails/TravelAround
)
AMENDMENTS =
%(Metrics/BlockLength)
COP_DOC_BASE_URL =
'https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/'

Instance Method Summary collapse

Constructor Details

#initialize(config, descriptions) ⇒ ConfigFormatter

Returns a new instance of ConfigFormatter.



36
37
38
39
# File 'lib/rubocop/rspec/config_formatter.rb', line 36

def initialize(config, descriptions)
  @config       = config
  @descriptions = descriptions
end

Instance Method Details

#dumpObject



41
42
43
44
45
46
47
# File 'lib/rubocop/rspec/config_formatter.rb', line 41

def dump
  YAML.dump(unified_config)
    .gsub(EXTENSION_ROOT_DEPARTMENT, "\n\\1")
    .gsub(*AMENDMENTS, "\n\\0")
    .gsub(/^(\s+)- /, '\1  - ')
    .gsub('"~"', '~')
end