File: build_config

package info (click to toggle)
ruby-rubocop-rspec 2.16.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 1,892 kB
  • sloc: ruby: 22,283; makefile: 4
file content (34 lines) | stat: -rwxr-xr-x 1,296 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env ruby
# frozen_string_literal: true

$LOAD_PATH.unshift(File.join(__dir__, '..', 'lib'))

require 'yard'

require 'rubocop-rspec'
require 'rubocop/rspec/config_formatter'
require 'rubocop/rspec/description_extractor'

glob = File.join('lib', 'rubocop', 'cop', 'rspec',
                 '{,capybara,factory_bot,rails}', '*.rb')
# Due to YARD's sensitivity to file require order (as of 0.9.25),
# we have to prepend the list with our base cop, RuboCop::Cop::RSpec::Base.
# Otherwise, cop's parent class for cops loaded before our base cop class
# are detected as RuboCop::Cop::Base, and that complicates the detection
# of their relation with RuboCop RSpec.
rspec_cop_path = File.join('lib', 'rubocop', 'cop', 'rspec', 'base.rb')
YARD::Tags::Library.define_tag('Cop Safety Information', :safety)
YARD.parse(Dir[glob].prepend(rspec_cop_path), [])

descriptions =
  RuboCop::RSpec::DescriptionExtractor.new(YARD::Registry.all(:class)).to_h
current_config = if Psych::VERSION >= '4.0.0' # RUBY_VERSION >= '3.1.0'
                   YAML.unsafe_load_file('config/default.yml')
                 else
                   YAML.load_file('config/default.yml')
                 end

File.write(
  'config/default.yml',
  RuboCop::RSpec::ConfigFormatter.new(current_config, descriptions).dump
)