Module: RuboCop::AI::Inject
- Extended by:
- T::Sig
- Defined in:
- lib/rubocop/ai/inject.rb
Overview
Injects the default configuration cleanly into RuboCop
Class Method Summary collapse
Class Method Details
.defaults! ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/rubocop/ai/inject.rb', line 16 def self.defaults! path = File.join(RuboCop::AI.project_root, 'config', 'default.yml') # We explicitly cast to handle missing typing in RuboCop YAML internals hash = T.cast(RuboCop::ConfigLoader.send(:load_yaml_configuration, path), T::Hash[T.untyped, T.untyped]) config = RuboCop::Config.new(hash, path) config.make_excludes_absolute merged = RuboCop::ConfigLoader.default_configuration.merge(config) merged_config = RuboCop::Config.new(merged.to_h, RuboCop::ConfigLoader.default_configuration.loaded_path) RuboCop::ConfigLoader.instance_variable_set(:@default_configuration, merged_config) end |