diff --git a/lib/standard/runners/genignore.rb b/lib/standard/runners/genignore.rb index 74236749..e6556f49 100644 --- a/lib/standard/runners/genignore.rb +++ b/lib/standard/runners/genignore.rb @@ -13,6 +13,7 @@ def call(config) config.rubocop_options[:formatters] = [["files", temp_file.path]] config.rubocop_options[:format] = "files" config.rubocop_options[:out] = temp_file.path + remove_project_files_from_ignore_list(config) Runners::Rubocop.new.call(config) # Read in the files with errors. It will have the absolute paths @@ -43,6 +44,14 @@ def call(config) temp_file.unlink end end + + # FIXME: This will also remove files which are in + # `Standard::CreatesConfigStore::ConfiguresIgnoredPaths::DEFAULT_IGNORES`. + def remove_project_files_from_ignore_list(config) + options_config = config.rubocop_config_store.instance_variable_get("@options_config") + options_config["AllCops"] ||= [] + options_config["AllCops"]["Exclude"] = [] + end end end end diff --git a/test/standard/runners/genignore_test.rb b/test/standard/runners/genignore_test.rb index 407634fa..49527ef6 100644 --- a/test/standard/runners/genignore_test.rb +++ b/test/standard/runners/genignore_test.rb @@ -30,6 +30,17 @@ def test_todo_generated def create_config(config_path) store = RuboCop::ConfigStore.new.tap do |config_store| config_store.options_config = config_path + + # Simulate a `.standard_todo.yml` that contains an ignore file: + # + # --- + # ignore: + # - errors_one.rb + # + options_config = config_store.instance_variable_get("@options_config") + options_config["AllCops"] ||= [] + options_config["AllCops"]["Exclude"] ||= [] + options_config["AllCops"]["Exclude"] |= [path("errors_one.rb")] end Standard::Config.new(nil, ["."], {}, store)