lib/standard/creates_config_store/merges_user_config_extensions.rb
require_relative "../file_finder" require_relative "../plugin" class Standard::CreatesConfigStore class MergesUserConfigExtensions class ExtendConfigPlugin < LintRoller::Plugin def initialize(path) @yaml_path = Standard::FileFinder.new.call(path, Dir.pwd) end def about About.new("Pseudo-plugin wrapping the `extend_config' path: #{@yaml_path}") end def rules(context) LintRoller::Rules.new( type: :path, config_format: :rubocop, value: @yaml_path ) end end def initialize @merges_plugins_into_rubocop_config = Standard::Plugin::MergesPluginsIntoRubocopConfig.new end def call(options_config, standard_config) return unless standard_config[:extend_config]&.any? plugins = standard_config[:extend_config].map { |path| ExtendConfigPlugin.new(path) } @merges_plugins_into_rubocop_config.call(options_config, standard_config, plugins, permit_merging: false) end end end