Sha256: 434b4876301af6179bcdcb81928a153fef43de1e58ca341f2a521626c9217a4b
Contents?: true
Size: 1.4 KB
Versions: 3
Compression:
Stored size: 1.4 KB
Contents
# frozen_string_literal: true require_relative 'base_command' require_relative '../../examiner' require_relative '../../configuration/app_configuration' module Reek module CLI module Command # # A command to collect smells from a set of sources and writes a configuration # file that can serve as a todo list. # class TodoListCommand < BaseCommand FILE_NAME = '.todo.reek' def execute if smells.empty? puts "\n'.todo.reek' not generated because "\ 'there were no smells found!' else File.write FILE_NAME, { Configuration::AppConfiguration::DETECTORS_KEY => groups }.to_yaml puts "\n'.todo.reek' generated! You can now use "\ 'this as a starting point for your configuration.' end options.success_exit_code end private def smells @smells ||= sources.map do |source| Examiner.new(source, filter_by_smells: smell_names) end.map(&:smells).flatten end def groups @groups ||= begin todos = smells.group_by(&:smell_class).map do |smell_class, smells_for_class| smell_class.todo_configuration_for(smells_for_class) end todos.inject(&:merge) end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
reek-5.0.2 | lib/reek/cli/command/todo_list_command.rb |
reek-5.0.1 | lib/reek/cli/command/todo_list_command.rb |
reek-5.0.0 | lib/reek/cli/command/todo_list_command.rb |